From: Kuniyuki Iwashima Date: Mon, 18 May 2026 05:07:12 +0000 (+0000) Subject: bareudp: Use rtnl_dereference() in bareudp_sock_release(). X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=e6409584dec6d67f5aa9e2e0f55e2c5f0f55d63f;p=thirdparty%2Fkernel%2Flinux.git bareudp: Use rtnl_dereference() in bareudp_sock_release(). kernel test robot reported sparse warning in bareudp_sock_release(): drivers/net/bareudp.c:288:12: warning: incorrect type in assignment (different address spaces) drivers/net/bareudp.c:288:12: expected struct sock *sk drivers/net/bareudp.c:288:12: got struct sock [noderef] __rcu *sk The warning is not new and exists since the initial bareudp commit 571912c69f0e ("net: UDP tunnel encapsulation module for tunnelling different protocols like MPLS, IP, NSH etc."). Let's use rtnl_dereference(). Note that bareudp_sock_release() is called from bareudp_stop() under RTNL, so there is no real issue even without the helper. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202605062359.e3gOfZCr-lkp@intel.com/ Signed-off-by: Kuniyuki Iwashima Link: https://patch.msgid.link/20260518050726.318824-6-kuniyu@google.com Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/bareudp.c b/drivers/net/bareudp.c index bfcecdcffe67..5ef841c85526 100644 --- a/drivers/net/bareudp.c +++ b/drivers/net/bareudp.c @@ -285,7 +285,7 @@ static void bareudp_sock_release(struct bareudp_dev *bareudp) { struct sock *sk; - sk = bareudp->sk; + sk = rtnl_dereference(bareudp->sk); rcu_assign_pointer(bareudp->sk, NULL); udp_tunnel_sock_release(sk); }