Daniel Borkmann
0962590e55
bpf: fix partial copy of map_ptr when dst is scalar
...
ALU operations on pointers such as scalar_reg += map_value_ptr are
handled in adjust_ptr_min_max_vals(). Problem is however that map_ptr
and range in the register state share a union, so transferring state
through dst_reg->range = ptr_reg->range is just buggy as any new
map_ptr in the dst_reg is then truncated (or null) for subsequent
checks. Fix this by adding a raw member and use it for copying state
over to dst_reg.
Fixes: f1174f77b50c ("bpf/verifier: rework value tracking")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Edward Cree <ecree@solarflare.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2018-10-31 16:53:17 -07:00
..
2018-10-31 16:53:17 -07:00
2018-10-26 16:26:32 -07:00
2018-06-15 07:15:28 +09:00
2018-10-26 16:26:32 -07:00
2018-10-19 08:53:05 +02:00
2018-10-24 11:22:39 +01:00
2018-06-08 18:56:02 +09:00
2018-10-25 11:43:47 -07:00
2018-08-20 18:33:50 +02:00
2018-10-23 13:08:53 +01:00
2018-10-18 12:27:30 +02:00
2018-10-12 10:44:17 +02:00
2018-08-30 16:12:53 -07:00
2018-10-26 16:26:32 -07:00
2018-10-25 11:14:36 -07:00
2018-10-22 17:46:08 +01:00
2018-01-04 16:45:09 -08:00
2018-02-06 18:32:44 -08:00
2018-05-18 14:58:22 +02:00
2018-08-17 09:41:28 -07:00
2018-07-18 11:43:36 -04:00
2018-07-17 14:45:08 -04:00
2018-02-23 11:22:22 -05:00
2018-06-19 10:39:54 -04:00
2018-08-15 10:46:54 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-08-27 14:48:48 +02:00
2017-07-31 13:09:49 +02:00
2018-10-23 18:43:04 +01:00
2018-08-22 10:52:47 -07:00
2018-10-26 16:26:32 -07:00
2018-05-16 07:23:35 +02:00
2017-11-02 11:10:55 +01:00
2018-05-16 07:23:35 +02:00
2018-07-21 12:57:35 -05:00
2018-02-21 16:54:06 +01:00
2018-06-21 12:33:19 +02:00
2018-10-26 16:26:32 -07:00
2018-08-06 12:35:20 +02:00
2018-08-27 14:48:48 +02:00
2018-10-09 13:19:28 +02:00
2017-12-14 16:00:49 -08:00
2018-08-22 10:52:47 -07:00
2018-05-15 23:08:33 -07:00
2018-01-08 19:43:15 +01:00
2018-10-16 17:30:11 +02:00
2018-09-10 22:54:33 +09:00
2017-11-02 11:10:55 +01:00
2018-08-02 08:06:54 +09:00
2018-06-15 07:55:24 +09:00
2018-10-06 12:01:51 +02:00
2018-06-12 16:19:22 -07:00
2017-11-02 11:10:55 +01:00
2018-07-16 12:31:57 -07:00
2017-09-08 18:26:51 -07:00
2018-09-12 08:01:16 +02:00
2017-07-12 16:25:59 -07:00
2018-08-13 11:25:07 -07:00
2018-07-18 01:18:05 +09:00
2018-10-28 11:35:40 -07:00
2018-07-02 11:36:17 +02:00
2018-07-02 11:36:17 +02:00
2018-09-27 17:56:49 +02:00
2018-01-05 18:43:00 +11:00
2018-06-14 12:21:18 +09:00
2018-04-11 10:28:37 -07:00
2018-09-16 16:08:25 +02:00
2018-09-20 22:01:11 +02:00
2018-10-24 11:22:39 +01:00
2017-11-02 11:10:55 +01:00
2018-09-11 16:13:24 +01:00
2018-06-15 07:55:24 +09:00
2018-10-09 17:25:58 +02:00
2018-07-10 22:18:52 +02:00
2018-10-24 11:49:35 +01:00
2018-10-25 11:14:36 -07:00
2018-10-09 16:51:11 +02:00
2018-07-03 09:20:44 +02:00
2017-11-02 11:10:55 +01:00
2018-10-25 11:43:47 -07:00
2018-08-13 11:25:07 -07:00
2018-06-10 10:17:09 -07:00
2018-09-20 22:01:11 +02:00
2018-04-16 11:26:49 +02:00
2018-08-23 18:48:43 -07:00
2017-12-17 13:57:15 +01:00
2018-02-06 18:32:46 -08:00
2018-06-21 12:33:05 +02:00
2018-08-29 09:20:48 -07:00
2018-10-17 15:35:29 -04:00
2018-04-05 21:36:27 -07:00
2018-04-02 20:15:59 +02:00
2018-04-02 20:15:30 +02:00
2018-10-22 19:37:36 -07:00
2018-10-09 16:51:11 +02:00
2018-08-11 02:05:53 -05:00
2018-08-22 10:52:47 -07:00
2018-08-11 02:05:53 -05:00
2018-04-11 10:28:35 -07:00
2018-08-30 12:56:40 +02:00
2018-08-30 12:56:40 +02:00
2018-05-18 08:47:13 -07:00
2018-08-30 12:56:40 +02:00