Alexei Starovoitov
b02709587e
bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds.
...
The 64-bit signed bounds should not affect 32-bit signed bounds unless the
verifier knows that upper 32-bits are either all 1s or all 0s. For example the
register with smin_value==1 doesn't mean that s32_min_value is also equal to 1,
since smax_value could be larger than 32-bit subregister can hold.
The verifier refines the smax/s32_max return value from certain helpers in
do_refine_retval_range(). Teach the verifier to recognize that smin/s32_min
value is also bounded. When both smin and smax bounds fit into 32-bit
subregister the verifier can propagate those bounds.
Fixes: 3f50f132d8 ("bpf: Verifier, do explicit ALU32 bounds tracking")
Reported-by: Jean-Philippe Brucker <jean-philippe@linaro.org >
Acked-by: John Fastabend <john.fastabend@gmail.com >
Signed-off-by: Alexei Starovoitov <ast@kernel.org >
2020-12-10 13:02:53 -08:00
..
2020-12-10 13:02:53 -08:00
2020-10-16 11:11:19 -07:00
2020-10-01 14:44:08 +01:00
2020-11-02 10:10:39 -05:00
2020-11-04 18:06:14 +01:00
2020-11-09 18:12:36 +01:00
2020-09-11 09:33:54 -07:00
2020-11-08 09:52:57 -08:00
2020-10-16 11:11:19 -07:00
2020-10-16 11:11:19 -07:00
2020-11-17 13:15:35 +01:00
2020-10-27 19:11:44 +01:00
2020-11-27 10:38:36 -08:00
2020-11-17 10:31:56 -08:00
2020-11-22 13:26:07 -08:00
2020-10-26 11:48:11 +01:00
2020-11-19 11:56:16 -08:00
2020-10-16 11:11:19 -07:00
2020-07-16 12:35:15 -07:00
2020-07-27 23:25:50 +02:00
2020-08-06 19:29:51 -07:00
2020-07-27 23:25:50 +02:00
2020-08-26 09:10:39 -04:00
2020-08-17 20:26:58 -04:00
2020-08-23 17:36:59 -05:00
2020-08-04 14:20:26 -07:00
2020-07-30 11:15:58 -07:00
2020-10-13 09:17:34 -07:00
2020-08-23 17:36:59 -05:00
2020-06-11 15:14:36 +02:00
2020-09-01 09:58:03 +02:00
2020-06-03 13:06:42 -07:00
2020-08-12 10:58:01 -07:00
2020-05-20 14:44:21 -05:00
2020-10-28 16:39:49 -04:00
2020-11-19 11:58:16 -08:00
2020-11-08 11:18:39 -08:00
2020-11-09 14:30:30 +01:00
2020-06-06 23:42:01 +09:00
2020-10-13 09:17:34 -07:00
2020-11-02 12:14:19 -08:00
2020-05-28 10:54:15 +02:00
2020-10-16 11:11:19 -07:00
2020-10-25 14:51:49 -07:00
2020-08-12 10:58:02 -07:00
2020-10-16 11:11:19 -07:00
2020-10-16 11:11:18 -07:00
2020-10-05 13:37:03 +02:00
2020-08-12 10:58:01 -07:00
2020-11-04 09:46:06 -05:00
2020-11-02 12:14:19 -08:00
2020-10-22 13:13:57 -07:00
2020-10-22 13:08:57 -07:00
2020-09-01 09:58:03 +02:00
2020-07-08 11:14:22 +02:00
2020-09-04 17:51:55 +10:00
2020-11-14 11:26:04 -08:00
2020-10-29 17:22:59 -05:00
2020-10-16 11:11:19 -07:00
2020-10-18 09:27:10 -07:00
2020-11-17 12:53:22 -08:00
2020-10-16 11:11:19 -07:00
2020-11-14 11:26:03 -08:00
2020-07-27 14:31:12 -04:00
2020-10-16 11:11:22 -07:00
2020-10-16 11:11:18 -07:00
2020-08-24 18:38:38 -07:00
2020-08-07 11:33:25 -07:00
2020-11-17 12:53:22 -08:00
2020-11-02 12:14:19 -08:00
2020-10-18 14:34:50 -07:00
2020-09-16 15:18:56 +02:00
2020-09-19 13:13:39 -07:00
2020-09-18 14:24:16 +01:00
2020-10-02 21:18:25 +02:00
2020-10-26 12:12:27 +01:00
2020-10-18 09:27:10 -07:00
2020-10-25 11:44:16 -07:00
2020-09-17 10:26:41 -07:00
2020-10-17 15:05:30 -06:00
2020-10-02 19:11:12 -07:00
2020-06-29 12:01:45 -07:00
2020-10-29 17:22:59 -05:00
2020-10-06 10:31:52 -07:00
2020-10-16 11:11:19 -07:00
2020-06-04 19:06:24 -07:00
2020-07-07 11:58:59 -05:00
2020-08-17 09:39:18 -07:00
2020-11-14 11:26:03 -08:00
2020-10-16 07:28:20 +02:00