Björn Töpel
cee271678d
xsk: do not call synchronize_net() under RCU read lock
...
The XSKMAP update and delete functions called synchronize_net(), which
can sleep. It is not allowed to sleep during an RCU read section.
Instead we need to make sure that the sock sk_destruct (xsk_destruct)
function is asynchronously called after an RCU grace period. Setting
the SOCK_RCU_FREE flag for XDP sockets takes care of this.
Fixes: fbfc504a24 ("bpf: introduce new bpf AF_XDP map type BPF_MAP_TYPE_XSKMAP")
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-10-11 10:19:01 +02:00
..
arraymap.c
bpf: decouple btf from seq bpf fs dump and enable more maps
2018-08-13 00:52:45 +02:00
bpf_lru_list.c
bpf_lru_list.h
btf.c
bpf: btf: Fix end boundary calculation for type section
2018-09-12 22:00:23 +02:00
cgroup.c
bpf: introduce update_effective_progs()
2018-08-07 14:29:55 +02:00
core.c
bpf: fix a rcu usage warning in bpf_prog_array_copy_core()
2018-08-16 21:55:32 +02:00
cpumap.c
bpf: fix redirect to map under tail calls
2018-08-17 15:56:23 -07:00
devmap.c
bpf: fix redirect to map under tail calls
2018-08-17 15:56:23 -07:00
disasm.c
disasm.h
hashtab.c
bpf: use per htab salt for bucket hash
2018-08-23 18:45:47 +02:00
helpers.c
bpf: introduce the bpf_get_local_storage() helper function
2018-08-03 00:47:32 +02:00
inode.c
bpf: decouple btf from seq bpf fs dump and enable more maps
2018-08-13 00:52:45 +02:00
local_storage.c
bpf: don't accept cgroup local storage with zero value size
2018-10-02 14:42:23 +02:00
lpm_trie.c
bpf: decouple btf from seq bpf fs dump and enable more maps
2018-08-13 00:52:45 +02:00
Makefile
bpf: Introduce BPF_MAP_TYPE_REUSEPORT_SOCKARRAY
2018-08-11 01:58:46 +02:00
map_in_map.c
bpf: don't allow create maps of cgroup local storages
2018-08-03 00:47:32 +02:00
map_in_map.h
offload.c
bpf: offload: allow program and map sharing per-ASIC
2018-07-18 15:10:34 +02:00
percpu_freelist.c
percpu_freelist.h
reuseport_array.c
bpf: Introduce BPF_MAP_TYPE_REUSEPORT_SOCKARRAY
2018-08-11 01:58:46 +02:00
sockmap.c
bpf: sockmap, fix transition through disconnect without close
2018-09-22 02:46:41 +02:00
stackmap.c
bpf: decouple btf from seq bpf fs dump and enable more maps
2018-08-13 00:52:45 +02:00
syscall.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-08-15 15:04:25 -07:00
tnum.c
verifier.c
bpf: 32-bit RSH verification must truncate input before the ALU op
2018-10-05 18:41:45 +02:00
xskmap.c
xsk: do not call synchronize_net() under RCU read lock
2018-10-11 10:19:01 +02:00