netfilter: nf_tables: use the right index from flowtable error path
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 27 Feb 2018 16:58:18 +0000 (17:58 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 27 Feb 2018 18:08:17 +0000 (19:08 +0100)
Use the right loop index, not the number of devices in the array that we
need to remove, the following message uncovered the problem:

[ 5437.044119] hook not found, pf 5 num 0
[ 5437.044140] WARNING: CPU: 2 PID: 24983 at net/netfilter/core.c:376 __nf_unregister_net_hook+0x250/0x280

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

index 2b5aa78979db83a7c33de2ca39432fb2cdd40038..558593e6a0a3b507a967ec1f75ddc15228807c09 100644 (file)
@@ -5136,7 +5136,7 @@ err5:
        i = flowtable->ops_len;
 err4:
        for (k = i - 1; k >= 0; k--)
-               nf_unregister_net_hook(net, &flowtable->ops[i]);
+               nf_unregister_net_hook(net, &flowtable->ops[k]);
 
        kfree(flowtable->ops);
 err3: