Commit 6a659cd0616299e3444db701820b5a35ae054e0e
Committed by
David S. Miller
1 parent
3fe6b49e2f
net_sched: cls_flow: remove faulty use of list_for_each_entry_rcu
rcu variant is not correct here. The code is called by updater (rtnl lock is held), not by reader (no rcu_read_lock is held). Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff
net/sched/cls_flow.c
... | ... | @@ -578,7 +578,7 @@ |
578 | 578 | struct flow_head *head = rtnl_dereference(tp->root); |
579 | 579 | struct flow_filter *f; |
580 | 580 | |
581 | - list_for_each_entry_rcu(f, &head->filters, list) | |
581 | + list_for_each_entry(f, &head->filters, list) | |
582 | 582 | if (f->handle == handle) |
583 | 583 | return (unsigned long)f; |
584 | 584 | return 0; |
... | ... | @@ -654,7 +654,7 @@ |
654 | 654 | struct flow_head *head = rtnl_dereference(tp->root); |
655 | 655 | struct flow_filter *f; |
656 | 656 | |
657 | - list_for_each_entry_rcu(f, &head->filters, list) { | |
657 | + list_for_each_entry(f, &head->filters, list) { | |
658 | 658 | if (arg->count < arg->skip) |
659 | 659 | goto skip; |
660 | 660 | if (arg->fn(tp, (unsigned long)f, arg) < 0) { |