Re: [PATCH net v4] rds: tcp: hold the RCU lock across ipv6_chk_addr() in rds_tcp_laddr_check()
| Newsgroups | org.kernel.vger.linux-rdma,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <178484160664.2877680.17585113396964964552.git-patchwork-notify@kernel.org> |
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <[email protected]>: On Wed, 22 Jul 2026 14:02:03 -0700 you wrote: > rds_tcp_laddr_check() looks up a scoped IPv6 interface with > dev_get_by_index_rcu(), drops the RCU read-side lock, and only then > passes the bare struct net_device * into ipv6_chk_addr(). > > dev_get_by_index_rcu() only keeps the device alive within the same RCU > read-side section. After rcu_read_unlock(), a concurrent RTM_DELLINK can > free the net_device; ipv6_chk_addr() then dereferences the stale pointer > in __ipv6_chk_addr_and_flags() (e.g. l3mdev_master_dev_rcu(dev)), reading > freed memory. > > [...] Here is the summary with links: - [net,v4] rds: tcp: hold the RCU lock across ipv6_chk_addr() in rds_tcp_laddr_check() https://git.kernel.org/netdev/net/c/78f75d632f74 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html