net: mctp: Set SOCK_RCU_FREE
[ Upstream commit 52024cd6ec71a6ca934d0cc12452bd8d49850679 ]
Bind lookup runs under RCU, so ensure that a socket doesn't go away in
the middle of a lookup.
Fixes: 833ef3b91d
("mctp: Populate socket implementation")
Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>
Link: https://patch.msgid.link/20250410-mctp-rcu-sock-v1-1-872de9fdc877@codeconstruct.com.au
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
9027e07356
commit
a8a3b61ce1
@@ -550,6 +550,9 @@ static int mctp_sk_hash(struct sock *sk)
|
||||
{
|
||||
struct net *net = sock_net(sk);
|
||||
|
||||
/* Bind lookup runs under RCU, remain live during that. */
|
||||
sock_set_flag(sk, SOCK_RCU_FREE);
|
||||
|
||||
mutex_lock(&net->mctp.bind_lock);
|
||||
sk_add_node_rcu(sk, &net->mctp.binds);
|
||||
mutex_unlock(&net->mctp.bind_lock);
|
||||
|
Reference in New Issue
Block a user