netfilter: nf_tables: fix bogus rulenum after goto action
authorPablo Neira Ayuso <pablo@netfilter.org>
Sat, 10 May 2014 16:46:02 +0000 (18:46 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 12 May 2014 14:33:10 +0000 (16:33 +0200)
After returning from the chain that we just went to with no matchings,
we get a bogus rule number in the trace. To fix this, we would need
to iterate over the list of remaining rules in the chain to update the
rule number counter.

Patrick suggested to set this to the maximum value since the default
base chain policy is the very last action when the processing the base
chain is over.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_tables_core.c

index f55fb28264fa3ba274ee304033efeef8b8872e3a..be08a96b4f4556a5d55be56ba3ee81c66df08328 100644 (file)
@@ -202,7 +202,7 @@ next_rule:
        }
 
        if (unlikely(pkt->skb->nf_trace))
-               nft_trace_packet(pkt, basechain, ++rulenum, NFT_TRACE_POLICY);
+               nft_trace_packet(pkt, basechain, -1, NFT_TRACE_POLICY);
 
        rcu_read_lock_bh();
        stats = rcu_dereference(nft_base_chain(basechain)->stats);