John Fastabend
99ba2b5aba
bpf: sockhash, disallow bpf_tcp_close and update in parallel
...
After latest lock updates there is no longer anything preventing a
close and recvmsg call running in parallel. Additionally, we can
race update with close if we close a socket and simultaneously update
if via the BPF userspace API (note the cgroup ops are already run
with sock_lock held).
To resolve this take sock_lock in close and update paths.
Reported-by: syzbot+b680e42077a0d7c9a0c4@syzkaller.appspotmail.com
Fixes: e9db4ef6bf ("bpf: sockhash fix omitted bucket lock in sock_close")
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2018-07-07 15:19:30 -07:00
..
arraymap.c
bpf: btf: Rename btf_key_id and btf_value_id in bpf_map_info
2018-05-23 12:03:32 +02:00
bpf_lru_list.c
bpf_lru_list.h
btf.c
treewide: kvzalloc() -> kvcalloc()
2018-06-12 16:19:22 -07:00
cgroup.c
bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF
2018-06-26 11:28:38 +02:00
core.c
bpf: undo prog rejection on read-only lock failure
2018-06-29 10:47:35 -07:00
cpumap.c
xdp: introduce xdp_return_frame_rx_napi
2018-05-24 18:36:15 -07:00
devmap.c
xdp: Fix handling of devmap in generic XDP
2018-06-15 23:47:15 +02:00
disasm.c
bpf: Remove struct bpf_verifier_env argument from print_bpf_insn
2018-03-23 17:38:57 +01:00
disasm.h
bpf: Remove struct bpf_verifier_env argument from print_bpf_insn
2018-03-23 17:38:57 +01:00
hashtab.c
bpf: hash map: decrement counter on error
2018-07-03 23:26:28 +02:00
helpers.c
bpf: implement bpf_get_current_cgroup_id() helper
2018-06-03 18:22:41 -07:00
inode.c
bpf: implement dummy fops for bpf objects
2018-06-08 10:58:48 -07:00
lpm_trie.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
Makefile
bpf: introduce new bpf AF_XDP map type BPF_MAP_TYPE_XSKMAP
2018-05-03 15:55:24 -07:00
map_in_map.c
map_in_map.h
offload.c
bpf: offload: allow offloaded programs to use perf event arrays
2018-05-04 23:41:03 +02:00
percpu_freelist.c
percpu_freelist.h
sockmap.c
bpf: sockhash, disallow bpf_tcp_close and update in parallel
2018-07-07 15:19:30 -07:00
stackmap.c
bpf: avoid -Wmaybe-uninitialized warning
2018-05-28 17:40:59 +02:00
syscall.c
bpf: sockhash, disallow bpf_tcp_close and update in parallel
2018-07-07 15:19:30 -07:00
tnum.c
bpf/verifier: improve register value range tracking with ARSH
2018-04-29 08:45:53 -07:00
verifier.c
treewide: Use array_size() in vzalloc()
2018-06-12 16:19:22 -07:00
xskmap.c
xsk: clean up SPDX headers
2018-05-18 16:07:02 +02:00