}
static int nft_trans_table_add(struct nft_ctx *ctx, int msg_type)
-@@ -627,8 +624,7 @@ static void _nf_tables_table_disable(str
+@@ -639,8 +636,7 @@ static void _nf_tables_table_disable(str
if (cnt && i++ == cnt)
break;
}
}
-@@ -645,8 +641,7 @@ static int nf_tables_table_enable(struct
+@@ -657,8 +653,7 @@ static int nf_tables_table_enable(struct
if (!nft_is_base_chain(chain))
continue;
if (err < 0)
goto err;
-@@ -1058,7 +1053,7 @@ static int nf_tables_fill_chain_info(str
+@@ -1070,7 +1065,7 @@ static int nf_tables_fill_chain_info(str
if (nft_is_base_chain(chain)) {
const struct nft_base_chain *basechain = nft_base_chain(chain);
struct nlattr *nest;
nest = nla_nest_start(skb, NFTA_CHAIN_HOOK);
-@@ -1286,8 +1281,8 @@ static void nf_tables_chain_destroy(stru
+@@ -1298,8 +1293,8 @@ static void nf_tables_chain_destroy(stru
free_percpu(basechain->stats);
if (basechain->stats)
static_branch_dec(&nft_counters_enabled);
kfree(chain->name);
kfree(basechain);
} else {
-@@ -1383,7 +1378,6 @@ static int nf_tables_addchain(struct nft
+@@ -1395,7 +1390,6 @@ static int nf_tables_addchain(struct nft
struct nft_stats __percpu *stats;
struct net *net = ctx->net;
struct nft_chain *chain;
int err;
if (table->use == UINT_MAX)
-@@ -1422,21 +1416,18 @@ static int nf_tables_addchain(struct nft
+@@ -1434,21 +1428,18 @@ static int nf_tables_addchain(struct nft
basechain->type = hook.type;
chain = &basechain->chain;
chain->flags |= NFT_BASE_CHAIN;
basechain->policy = policy;
-@@ -1454,7 +1445,7 @@ static int nf_tables_addchain(struct nft
+@@ -1466,7 +1457,7 @@ static int nf_tables_addchain(struct nft
goto err1;
}
if (err < 0)
goto err1;
-@@ -1468,7 +1459,7 @@ static int nf_tables_addchain(struct nft
+@@ -1480,7 +1471,7 @@ static int nf_tables_addchain(struct nft
return 0;
err2:
err1:
nf_tables_chain_destroy(chain);
-@@ -1481,13 +1472,12 @@ static int nf_tables_updchain(struct nft
+@@ -1493,13 +1484,12 @@ static int nf_tables_updchain(struct nft
const struct nlattr * const *nla = ctx->nla;
struct nft_table *table = ctx->table;
struct nft_chain *chain = ctx->chain;
if (nla[NFTA_CHAIN_HOOK]) {
if (!nft_is_base_chain(chain))
-@@ -1504,14 +1494,12 @@ static int nf_tables_updchain(struct nft
+@@ -1516,14 +1506,12 @@ static int nf_tables_updchain(struct nft
return -EBUSY;
}
}
nft_chain_release_hook(&hook);
}
-@@ -5134,10 +5122,9 @@ static int nf_tables_commit(struct net *
+@@ -5153,10 +5141,9 @@ static int nf_tables_commit(struct net *
case NFT_MSG_DELCHAIN:
list_del_rcu(&trans->ctx.chain->list);
nf_tables_chain_notify(&trans->ctx, NFT_MSG_DELCHAIN);
break;
case NFT_MSG_NEWRULE:
nft_clear(trans->ctx.net, nft_trans_rule(trans));
-@@ -5274,10 +5261,9 @@ static int nf_tables_abort(struct net *n
+@@ -5293,10 +5280,9 @@ static int nf_tables_abort(struct net *n
} else {
trans->ctx.table->use--;
list_del_rcu(&trans->ctx.chain->list);
}
break;
case NFT_MSG_DELCHAIN:
-@@ -5380,7 +5366,7 @@ int nft_chain_validate_hooks(const struc
+@@ -5399,7 +5385,7 @@ int nft_chain_validate_hooks(const struc
if (nft_is_base_chain(chain)) {
basechain = nft_base_chain(chain);
return 0;
return -EOPNOTSUPP;
-@@ -5862,8 +5848,7 @@ int __nft_release_basechain(struct nft_c
+@@ -5881,8 +5867,7 @@ int __nft_release_basechain(struct nft_c
BUG_ON(!nft_is_base_chain(ctx->chain));
list_for_each_entry_safe(rule, nr, &ctx->chain->rules, list) {
list_del(&rule->list);
ctx->chain->use--;
-@@ -5892,8 +5877,7 @@ static void __nft_release_afinfo(struct
+@@ -5911,8 +5896,7 @@ static void __nft_release_afinfo(struct
list_for_each_entry_safe(table, nt, &afi->tables, list) {
list_for_each_entry(chain, &table->chains, list)