mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 14:43:16 +00:00
tcp: md5: correct a RCU lockdep splat
commit a8afca0329 (tcp: md5: protects md5sig_info with RCU) added a lockdep splat in tcp_md5_do_lookup() in case a timer fires a tcp retransmit. At this point, socket lock is owned by the sofirq handler, not the user, so we should adjust a bit the lockdep condition, as we dont hold rcu_read_lock(). Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Reported-by: Valdis Kletnieks <valdis.kletnieks@vt.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ae5d33723e
commit
b4fb05ea40
@ -927,7 +927,8 @@ struct tcp_md5sig_key *tcp_md5_do_lookup(struct sock *sk,
|
||||
|
||||
/* caller either holds rcu_read_lock() or socket lock */
|
||||
md5sig = rcu_dereference_check(tp->md5sig_info,
|
||||
sock_owned_by_user(sk));
|
||||
sock_owned_by_user(sk) ||
|
||||
lockdep_is_held(&sk->sk_lock.slock));
|
||||
if (!md5sig)
|
||||
return NULL;
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
|
Loading…
x
Reference in New Issue
Block a user