]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net/tcp: Add missing lockdep annotations for TCP-AO hlist traversals
authorDmitry Safonov <0x7f454c46@gmail.com>
Wed, 30 Oct 2024 04:22:33 +0000 (04:22 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 19:03:53 +0000 (20:03 +0100)
commit051f49d5176613dea88ecf73a101c3a99f4720e9
treecb1665d318e1cc94c782acaf84087fe0bc41f2b0
parentbd9287ae1e85d08ca4937252bda4fd7d5b3e0fe0
net/tcp: Add missing lockdep annotations for TCP-AO hlist traversals

[ Upstream commit 6b2d11e2d8fc130df4708be0b6b53fd3e6b54cf6 ]

Under CONFIG_PROVE_RCU_LIST + CONFIG_RCU_EXPERT
hlist_for_each_entry_rcu() provides very helpful splats, which help
to find possible issues. I missed CONFIG_RCU_EXPERT=y in my testing
config the same as described in
a3e4bf7f9675 ("configs/debug: make sure PROVE_RCU_LIST=y takes effect").

The fix itself is trivial: add the very same lockdep annotations
as were used to dereference ao_info from the socket.

Reported-by: Jakub Kicinski <kuba@kernel.org>
Closes: https://lore.kernel.org/netdev/20241028152645.35a8be66@kernel.org/
Signed-off-by: Dmitry Safonov <0x7f454c46@gmail.com>
Link: https://patch.msgid.link/20241030-tcp-ao-hlist-lockdep-annotate-v1-1-bf641a64d7c6@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/net/tcp_ao.h
net/ipv4/tcp_ao.c
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c