summaryrefslogtreecommitdiffstats
path: root/net/nfc
diff options
context:
space:
mode:
authorJeremy Kerr <jk@codeconstruct.com.au>2023-10-09 15:56:45 +0800
committerJakub Kicinski <kuba@kernel.org>2023-10-10 19:43:22 -0700
commit5093bbfc10ab6636b32728e35813cbd79feb063c (patch)
tree3ca6638478d5e045256aa9d20e673a2225e1c0c7 /net/nfc
parent8527ca7735ef4cdad32c45853b0138f46ab2df58 (diff)
downloadlinux-5093bbfc10ab6636b32728e35813cbd79feb063c.tar.gz
linux-5093bbfc10ab6636b32728e35813cbd79feb063c.tar.bz2
linux-5093bbfc10ab6636b32728e35813cbd79feb063c.zip
mctp: perform route lookups under a RCU read-side lock
Our current route lookups (mctp_route_lookup and mctp_route_lookup_null) traverse the net's route list without the RCU read lock held. This means the route lookup is subject to preemption, resulting in an potential grace period expiry, and so an eventual kfree() while we still have the route pointer. Add the proper read-side critical section locks around the route lookups, preventing premption and a possible parallel kfree. The remaining net->mctp.routes accesses are already under a rcu_read_lock, or protected by the RTNL for updates. Based on an analysis from Sili Luo <rootlab@huawei.com>, where introducing a delay in the route lookup could cause a UAF on simultaneous sendmsg() and route deletion. Reported-by: Sili Luo <rootlab@huawei.com> Fixes: 889b7da23abf ("mctp: Add initial routing framework") Cc: stable@vger.kernel.org Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://lore.kernel.org/r/29c4b0e67dc1bf3571df3982de87df90cae9b631.1696837310.git.jk@codeconstruct.com.au Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/nfc')
0 files changed, 0 insertions, 0 deletions