]> git.baikalelectronics.ru Git - kernel.git/commit
bpf, sockmap: Don't let sock_map_{close,destroy,unhash} call itself
authorJakub Sitnicki <jakub@cloudflare.com>
Sat, 21 Jan 2023 12:41:43 +0000 (13:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Feb 2023 11:59:42 +0000 (12:59 +0100)
commitc5c382ac89b51fc38048f74b42872b2d30768c03
tree7883473a9730360e7584d1945d06649753ad497a
parent91a337c590a2d631c395fdfd7a3ce96c2283f85d
bpf, sockmap: Don't let sock_map_{close,destroy,unhash} call itself

[ Upstream commit 655895509079a0e83c3dc4de74648239660ede06 ]

sock_map proto callbacks should never call themselves by design. Protect
against bugs like [1] and break out of the recursive loop to avoid a stack
overflow in favor of a resource leak.

[1] https://lore.kernel.org/all/00000000000073b14905ef2e7401@google.com/

Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Sitnicki <jakub@cloudflare.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/r/20230113-sockmap-fix-v2-1-1e0ee7ac2f90@cloudflare.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/core/sock_map.c