OpenWrt

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 2  →  ?path2? @ 3
/branches/18.06.1/target/linux/generic/backport-4.14/303-v4.16-netfilter-nf_tables-remove-multihook-chains-and-fami.patch
@@ -228,7 +228,7 @@
err1:
nf_tables_chain_destroy(chain);
@@ -1478,13 +1469,12 @@ static int nf_tables_updchain(struct nft
@@ -1478,14 +1469,13 @@ 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;
@@ -236,6 +236,7 @@
struct nft_base_chain *basechain;
struct nft_stats *stats = NULL;
struct nft_chain_hook hook;
const struct nlattr *name;
struct nf_hook_ops *ops;
struct nft_trans *trans;
- int err, i;
@@ -243,7 +244,7 @@
if (nla[NFTA_CHAIN_HOOK]) {
if (!nft_is_base_chain(chain))
@@ -1501,14 +1491,12 @@ static int nf_tables_updchain(struct nft
@@ -1502,14 +1492,12 @@ static int nf_tables_updchain(struct nft
return -EBUSY;
}
@@ -264,7 +265,7 @@
}
nft_chain_release_hook(&hook);
}
@@ -5129,10 +5117,9 @@ static int nf_tables_commit(struct net *
@@ -5113,10 +5101,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);
@@ -278,7 +279,7 @@
break;
case NFT_MSG_NEWRULE:
nft_clear(trans->ctx.net, nft_trans_rule(trans));
@@ -5269,10 +5256,9 @@ static int nf_tables_abort(struct net *n
@@ -5253,10 +5240,9 @@ static int nf_tables_abort(struct net *n
} else {
trans->ctx.table->use--;
list_del_rcu(&trans->ctx.chain->list);
@@ -292,7 +293,7 @@
}
break;
case NFT_MSG_DELCHAIN:
@@ -5375,7 +5361,7 @@ int nft_chain_validate_hooks(const struc
@@ -5359,7 +5345,7 @@ int nft_chain_validate_hooks(const struc
if (nft_is_base_chain(chain)) {
basechain = nft_base_chain(chain);
@@ -301,7 +302,7 @@
return 0;
return -EOPNOTSUPP;
@@ -5857,8 +5843,7 @@ int __nft_release_basechain(struct nft_c
@@ -5841,8 +5827,7 @@ int __nft_release_basechain(struct nft_c
BUG_ON(!nft_is_base_chain(ctx->chain));
@@ -311,7 +312,7 @@
list_for_each_entry_safe(rule, nr, &ctx->chain->rules, list) {
list_del(&rule->list);
ctx->chain->use--;
@@ -5887,8 +5872,7 @@ static void __nft_release_afinfo(struct
@@ -5871,8 +5856,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)
@@ -379,7 +380,7 @@
par->hook_mask = 1 << ops->hooknum;
} else {
@@ -565,7 +565,7 @@ static int nft_match_validate(const stru
@@ -564,7 +564,7 @@ static int nft_match_validate(const stru
if (nft_is_base_chain(ctx->chain)) {
const struct nft_base_chain *basechain =
nft_base_chain(ctx->chain);