Message ID | 20200221151537.12334-1-frextrite@gmail.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | tcp, ulp: Pass lockdep expression to RCU lists | expand |
From: Amol Grover <frextrite@gmail.com> Date: Fri, 21 Feb 2020 20:45:38 +0530 > tcp_ulp_list is traversed using list_for_each_entry_rcu > outside an RCU read-side critical section but under the protection > of tcp_ulp_list_lock. > > Hence, add corresponding lockdep expression to silence false-positive > warnings, and harden RCU lists.t > > Signed-off-by: Amol Grover <frextrite@gmail.com> Applied.
diff --git a/net/ipv4/tcp_ulp.c b/net/ipv4/tcp_ulp.c index 38d3ad141161..b9e55759054e 100644 --- a/net/ipv4/tcp_ulp.c +++ b/net/ipv4/tcp_ulp.c @@ -22,7 +22,8 @@ static struct tcp_ulp_ops *tcp_ulp_find(const char *name) { struct tcp_ulp_ops *e; - list_for_each_entry_rcu(e, &tcp_ulp_list, list) { + list_for_each_entry_rcu(e, &tcp_ulp_list, list, + lockdep_is_held(&tcp_ulp_list_lock)) { if (strcmp(e->name, name) == 0) return e; }
tcp_ulp_list is traversed using list_for_each_entry_rcu outside an RCU read-side critical section but under the protection of tcp_ulp_list_lock. Hence, add corresponding lockdep expression to silence false-positive warnings, and harden RCU lists.t Signed-off-by: Amol Grover <frextrite@gmail.com> --- net/ipv4/tcp_ulp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)