log->instance_table[] may be traversed outside RCU read-side
critical section but under the protection of log->instances_lock.
Hence, add the corresponding lockdep expression to silence
false-positive warnings.
Signed-off-by: Amol Grover <[email protected]>
---
net/netfilter/nfnetlink_log.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c
index 0ba020ca38e6..09acc579b566 100644
--- a/net/netfilter/nfnetlink_log.c
+++ b/net/netfilter/nfnetlink_log.c
@@ -104,7 +104,8 @@ __instance_lookup(struct nfnl_log_net *log, u_int16_t group_num)
struct nfulnl_instance *inst;
head = &log->instance_table[instance_hashfn(group_num)];
- hlist_for_each_entry_rcu(inst, head, hlist) {
+ hlist_for_each_entry_rcu(inst, head, hlist,
+ lockdep_is_held(&log->instances_lock)) {
if (inst->group_num == group_num)
return inst;
}
--
2.24.1
q->instance_table[] may be traversed outside an RCU read-side
critical section but under the protection of q->instances_lock.
Hence, add the corresponding lockdep expression to silence
false-positive lockdep warnings.
Signed-off-by: Amol Grover <[email protected]>
---
net/netfilter/nfnetlink_queue.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c
index feabdfb22920..5aef41847774 100644
--- a/net/netfilter/nfnetlink_queue.c
+++ b/net/netfilter/nfnetlink_queue.c
@@ -105,7 +105,8 @@ instance_lookup(struct nfnl_queue_net *q, u_int16_t queue_num)
struct nfqnl_instance *inst;
head = &q->instance_table[instance_hashfn(queue_num)];
- hlist_for_each_entry_rcu(inst, head, hlist) {
+ hlist_for_each_entry_rcu(inst, head, hlist,
+ lockdep_is_held(&q->instances_lock)) {
if (inst->queue_num == queue_num)
return inst;
}
--
2.24.1