diff --git a/net/netfilter/core.c b/net/netfilter/core.c index 3d4aa96cb2197c3a2ff9eee4aa4f9140b5feabd1..76014ad72ec5df43d677e161cff042a0a5da7f72 100644 --- a/net/netfilter/core.c +++ b/net/netfilter/core.c @@ -308,18 +308,11 @@ unsigned int nf_iterate(struct sk_buff *skb, { unsigned int verdict; - /* - * The caller must not block between calls to this - * function because of risk of continuing from deleted element. - */ while (*entryp) { if (state->thresh > (*entryp)->ops.priority) { *entryp = rcu_dereference((*entryp)->next); continue; } - - /* Optimization: we don't need to hold module - reference here, since function can't sleep. --RR */ repeat: verdict = (*entryp)->ops.hook((*entryp)->ops.priv, skb, state); if (verdict != NF_ACCEPT) {