Commit 6705e867 authored by Michael Wang's avatar Michael Wang Committed by Pablo Neira Ayuso
Browse files

netfilter: replace list_for_each_continue_rcu with new interface

This patch replaces list_for_each_continue_rcu() with
list_for_each_entry_continue_rcu() to allow removing
Signed-off-by: default avatarMichael Wang <>
Reviewed-by: default avatarPaul E. McKenney <>
Signed-off-by: default avatarPablo Neira Ayuso <>
parent 2834a638
......@@ -131,14 +131,13 @@ unsigned int nf_iterate(struct list_head *head,
int hook_thresh)
unsigned int verdict;
struct nf_hook_ops *elem = list_entry_rcu(*i, struct nf_hook_ops, list);
* The caller must not block between calls to this
* function because of risk of continuing from deleted element.
list_for_each_continue_rcu(*i, head) {
struct nf_hook_ops *elem = (struct nf_hook_ops *)*i;
list_for_each_entry_continue_rcu(elem, head, list) {
if (hook_thresh > elem->priority)
......@@ -155,11 +154,14 @@ repeat:
if (verdict != NF_REPEAT)
if (verdict != NF_REPEAT) {
*i = &elem->list;
return verdict;
goto repeat;
*i = &elem->list;
return NF_ACCEPT;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment