John Fastabend
b05545e15e
bpf: sockmap, fix transition through disconnect without close
...
It is possible (via shutdown()) for TCP socks to go trough TCP_CLOSE
state via tcp_disconnect() without actually calling tcp_close which
would then call our bpf_tcp_close() callback. Because of this a user
could disconnect a socket then put it in a LISTEN state which would
break our assumptions about sockets always being ESTABLISHED state.
To resolve this rely on the unhash hook, which is called in the
disconnect case, to remove the sock from the sockmap.
Reported-by: Eric Dumazet <edumazet@google.com>
Fixes: 1aa12bdf1b ("bpf: sockmap, add sock close() hook to remove socks")
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-09-22 02:46:41 +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
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: 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: decouple btf from seq bpf fs dump and enable more maps
2018-08-13 00:52:45 +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
bpf/verifier: improve register value range tracking with ARSH
2018-04-29 08:45:53 -07:00
verifier.c
bpf/verifier: disallow pointer subtraction
2018-09-12 23:30:02 +02:00
xskmap.c
bpf: fix redirect to map under tail calls
2018-08-17 15:56:23 -07:00