Files
odroid-linux/include/linux
Alexei Starovoitov 4fe8435909 bpf: convert htab map to hlist_nulls
when all map elements are pre-allocated one cpu can delete and reuse htab_elem
while another cpu is still walking the hlist. In such case the lookup may
miss the element. Convert hlist to hlist_nulls to avoid such scenario.
When bucket lock is taken there is no need to take such precautions,
so only convert map_lookup and map_get_next to nulls.
The race window is extremely small and only reproducible with explicit
udelay() inside lookup_nulls_elem_raw()

Similar to hlist add hlist_nulls_for_each_entry_safe() and
hlist_nulls_entry_safe() helpers.

Fixes: 6c90598174 ("bpf: pre-allocate hash map elements")
Reported-by: Jonathan Perry <jonperry@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-03-09 13:27:17 -08:00
..
2017-02-24 19:04:57 +01:00
2017-01-24 12:37:43 -08:00
2017-03-01 09:50:58 -08:00
2016-07-08 16:23:11 +02:00
2016-12-22 22:58:37 -05:00
2016-10-19 14:34:36 -04:00
2017-02-10 15:52:24 -05:00
2017-03-02 08:56:04 -07:00
2017-01-25 13:17:47 -05:00
2016-12-08 13:31:11 -05:00
2016-08-11 09:41:35 -06:00
2016-10-25 11:08:28 +08:00
2016-12-27 14:52:47 -05:00
2016-12-08 16:37:33 -08:00
2017-02-24 17:46:55 -08:00
2017-02-04 00:47:59 +01:00
2016-12-05 19:01:16 -05:00
2016-10-28 08:48:16 -06:00
2016-05-17 15:48:12 -04:00
2017-02-27 10:07:47 -08:00
2016-12-05 19:01:16 -05:00
2016-12-25 17:21:22 +01:00
2017-02-11 20:59:41 -05:00
2016-02-11 09:59:22 -05:00
2016-09-14 09:18:09 -06:00
2017-01-05 15:01:55 -06:00
2016-05-11 22:37:54 +02:00
2016-01-28 14:19:12 -08:00
2017-02-01 09:13:45 +01:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-12-12 18:55:06 -08:00
2016-12-25 17:21:23 +01:00
2016-01-15 17:56:32 -08:00
2017-02-24 17:46:57 -08:00
2016-09-27 12:33:47 +02:00
2016-12-06 11:05:46 +01:00
2017-01-12 16:48:26 -05:00
2016-07-29 12:17:52 -07:00
2016-08-28 23:32:41 -04:00
2017-03-01 09:50:58 -08:00
2016-11-16 18:32:02 -05:00
2016-04-25 15:09:11 -04:00
2016-02-16 13:04:58 -05:00
2016-12-12 18:55:07 -08:00
2016-12-06 10:17:03 +02:00
2017-03-02 08:56:04 -07:00
2016-02-11 18:35:48 -08:00
2016-03-14 15:43:11 -04:00
2016-10-31 16:18:30 -04:00
2016-10-14 11:36:59 -07:00
2016-07-12 19:25:38 -07:00
2016-09-27 21:52:00 -04:00
2016-11-15 16:34:27 -08:00
2016-03-17 15:09:34 -07:00
2017-02-13 21:44:09 -05:00
2016-07-06 10:51:14 +01:00
2016-03-22 15:36:02 -07:00
2016-06-14 10:54:40 -07:00
2017-02-27 18:43:46 -08:00
2016-01-04 16:11:11 -05:00
2017-01-09 16:07:38 -05:00
2016-10-05 18:23:36 -04:00
2017-02-03 11:19:34 -05:00
2016-12-25 17:21:22 +01:00
2017-01-10 18:31:55 -08:00
2016-07-19 17:43:38 +03:00
2017-02-03 10:17:02 +01:00
2016-12-09 22:12:21 -05:00
2017-02-10 16:34:17 +00:00
2016-12-12 18:55:08 -08:00
2017-01-11 09:21:41 +01:00
2017-02-02 15:22:18 -05:00