mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 18:41:23 +00:00
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 <frextrite@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0a087bf232
commit
c8b91770f5
@ -1019,7 +1019,8 @@ struct tcp_md5sig_key *__tcp_md5_do_lookup(const struct sock *sk, int l3index,
|
||||
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;
|
||||
if (key->l3index && key->l3index != l3index)
|
||||
@ -1064,7 +1065,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 (key->l3index && key->l3index != l3index)
|
||||
|
Loading…
Reference in New Issue
Block a user