tcp: ipv4: Pass lockdep expression to RCU lists
Subsystems (2)
PATCH 1/1 tcp: ipv4: Pass lockdep expression to RCU lists
md5sig->head maybe traversed using hlist_for_each_entry_rcu outside an RCU read-side critical section but under the protection of socket lock.
Hence, add corresponding lockdep expression to silence false-positive warnings, and harden RCU lists.
Signed-off-by Amol Grover <[email protected]>
--- net/ipv4/tcp_ipv4.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
net/ipv4/tcp_ipv4.c +4 -2
@@ -1000,7 +1000,8 @@ struct tcp_md5sig_key *__tcp_md5_do_lookup(const struct sock *sk,if (!md5sig)return NULL ; -hlist_for_each_entry_rcu (key, &md5sig->head, node) { +hlist_for_each_entry_rcu (key, &md5sig->head, node, +lockdep_sock_is_held (sk)) {if (key->family != family)continue ;
@@ -1043,7 +1044,8 @@ static struct tcp_md5sig_key *tcp_md5_do_lookup_exact(const struct sock *sk,if (family ==AF_INET6 ) size =sizeof (struct in6_addr );#endif -hlist_for_each_entry_rcu (key, &md5sig->head, node) { +hlist_for_each_entry_rcu (key, &md5sig->head, node, +lockdep_sock_is_held (sk)) {if (key->family != family)continue ; if (!memcmp(&key->addr, addr, size) &&
Signature · 6 lines
2.24.1 _______________________________________________ Linux-kernel-mentees mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees
David Miller
maintainernetdev was not CC:'d on this patch, please resend with that fixed.
Thank you.
Quoted 3 lines · David Miller
netdev was not CC:'d on this patch, please resend with that fixed.
Sorry for that. I've resend the patch.
Thanks
Amol
Quoted 1 line
Thank you.
_______________________________________________
Linux-kernel-mentees mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees