l2tp: do not use sock_hold() in pppol2tp_session_get_sock()
authorEric Dumazet <edumazet@google.com>
Tue, 26 Aug 2025 13:44:35 +0000 (13:44 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 28 Aug 2025 00:16:13 +0000 (17:16 -0700)
commit9b8c88f875c04d4cb9111bd5dd9291c7e9691bf5
tree94e9cc26a55f0fd899424d591835818c1de274b8
parent2e8750469242cad8f01f320131fd5a6f540dbb99
l2tp: do not use sock_hold() in pppol2tp_session_get_sock()

pppol2tp_session_get_sock() is using RCU, it must be ready
for sk_refcnt being zero.

Commit ee40fb2e1eb5 ("l2tp: protect sock pointer of
struct pppol2tp_session with RCU") was correct because it
had a call_rcu(..., pppol2tp_put_sk) which was later removed in blamed commit.

pppol2tp_recv() can use pppol2tp_session_get_sock() as well.

Fixes: c5cbaef992d6 ("l2tp: refactor ppp socket/session relationship")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: James Chapman <jchapman@katalix.com>
Reviewed-by: Guillaume Nault <gnault@redhat.com>
Link: https://patch.msgid.link/20250826134435.1683435-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/l2tp/l2tp_ppp.c