Files
linux-stable-mirror/include/net
Michal Luczaj 1e0de7582c net: Fix TOCTOU issue in sk_is_readable()
[ Upstream commit 2660a544fd ]

sk->sk_prot->sock_is_readable is a valid function pointer when sk resides
in a sockmap. After the last sk_psock_put() (which usually happens when
socket is removed from sockmap), sk->sk_prot gets restored and
sk->sk_prot->sock_is_readable becomes NULL.

This makes sk_is_readable() racy, if the value of sk->sk_prot is reloaded
after the initial check. Which in turn may lead to a null pointer
dereference.

Ensure the function pointer does not turn NULL after the check.

Fixes: 8934ce2fd0 ("bpf: sockmap redirect ingress support")
Suggested-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Michal Luczaj <mhal@rbox.co>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://patch.msgid.link/20250609-skisreadable-toctou-v1-1-d0dfb2d62c37@rbox.co
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-06-19 15:32:29 +02:00
..
2024-08-26 09:37:23 -07:00
2024-08-26 09:37:23 -07:00
2024-08-26 09:37:23 -07:00
2024-06-25 11:10:18 +02:00
2025-02-08 09:57:10 +01:00
2024-05-08 10:35:09 +01:00
2024-08-26 09:37:23 -07:00
2024-03-05 19:21:17 -08:00
2024-08-26 09:37:23 -07:00
2024-05-07 01:35:55 +02:00
2024-08-26 09:37:23 -07:00
2024-02-28 11:19:41 +00:00
2025-03-07 18:25:29 +01:00
2024-08-26 09:37:22 -07:00
2024-12-19 18:13:13 +01:00
2024-08-26 09:37:23 -07:00
2024-08-12 17:23:57 -07:00
2025-02-21 14:01:41 +01:00
2024-08-26 09:37:23 -07:00
2024-09-11 20:44:31 -07:00
2024-08-12 17:50:34 -07:00
2024-04-01 10:49:28 +01:00
2024-08-26 09:37:23 -07:00
2024-08-26 09:37:23 -07:00
2024-05-30 18:29:38 -07:00
2024-05-30 18:29:38 -07:00
2025-02-27 04:30:19 -08:00
2025-02-27 04:30:19 -08:00
2024-07-08 14:07:31 -07:00
2024-05-09 20:25:55 -07:00
2024-08-26 09:37:23 -07:00
2024-08-26 09:37:23 -07:00