projects
/
openwrt
/
staging
/
jogo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kernel: bump 4.14 to 4.14.60
[openwrt/staging/jogo.git]
/
target
/
linux
/
generic
/
backport-4.14
/
338-v4.16-netfilter-nf_tables-get-rid-of-struct-nft_af_info-ab.patch
diff --git
a/target/linux/generic/backport-4.14/338-v4.16-netfilter-nf_tables-get-rid-of-struct-nft_af_info-ab.patch
b/target/linux/generic/backport-4.14/338-v4.16-netfilter-nf_tables-get-rid-of-struct-nft_af_info-ab.patch
index 73cdab0be0d2c5147bd75953663aee810b5917e6..0752d693950b510cace551279e39255806a79d6c 100644
(file)
--- a/
target/linux/generic/backport-4.14/338-v4.16-netfilter-nf_tables-get-rid-of-struct-nft_af_info-ab.patch
+++ b/
target/linux/generic/backport-4.14/338-v4.16-netfilter-nf_tables-get-rid-of-struct-nft_af_info-ab.patch
@@
-11,7
+11,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
-@@ -95
0,28 +950
,12 @@ struct nft_table {
+@@ -95
5,28 +955
,12 @@ struct nft_table {
struct list_head flowtables;
u64 hgenerator;
u32 use;
struct list_head flowtables;
u64 hgenerator;
u32 use;
@@
-42,7
+42,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
int nft_register_chain_type(const struct nf_chain_type *);
void nft_unregister_chain_type(const struct nf_chain_type *);
int nft_register_chain_type(const struct nf_chain_type *);
void nft_unregister_chain_type(const struct nf_chain_type *);
-@@ -11
39,9 +1123
,6 @@ void nft_trace_notify(struct nft_tracein
+@@ -11
44,9 +1128
,6 @@ void nft_trace_notify(struct nft_tracein
#define nft_dereference(p) \
nfnl_dereference(p, NFNL_SUBSYS_NFTABLES)
#define nft_dereference(p) \
nfnl_dereference(p, NFNL_SUBSYS_NFTABLES)
@@
-323,7
+323,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
static void nft_ctx_init(struct nft_ctx *ctx,
struct net *net,
static void nft_ctx_init(struct nft_ctx *ctx,
struct net *net,
-@@ -
390,7 +325
,7 @@ static struct nft_table *nft_table_looku
+@@ -
419,7 +354
,7 @@ static struct nft_table *nft_table_looku
list_for_each_entry(table, &net->nft.tables, list) {
if (!nla_strcmp(nla, table->name) &&
list_for_each_entry(table, &net->nft.tables, list) {
if (!nla_strcmp(nla, table->name) &&
@@
-332,7
+332,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
nft_active_genmask(table, genmask))
return table;
}
nft_active_genmask(table, genmask))
return table;
}
-@@ -5
31,7 +466
,7 @@ static int nf_tables_dump_tables(struct
+@@ -5
60,7 +495
,7 @@ static int nf_tables_dump_tables(struct
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
@@
-341,7
+341,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
continue;
if (idx < s_idx)
continue;
if (idx < s_idx)
-@@ -5
45,7 +480
,7 @@ static int nf_tables_dump_tables(struct
+@@ -5
74,7 +509
,7 @@ static int nf_tables_dump_tables(struct
NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq,
NFT_MSG_NEWTABLE, NLM_F_MULTI,
NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq,
NFT_MSG_NEWTABLE, NLM_F_MULTI,
@@
-350,7
+350,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
goto done;
nl_dump_check_consistent(cb, nlmsg_hdr(skb));
goto done;
nl_dump_check_consistent(cb, nlmsg_hdr(skb));
-@@ -5
65,7 +500
,6 @@ static int nf_tables_gettable(struct net
+@@ -5
94,7 +529
,6 @@ static int nf_tables_gettable(struct net
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_cur(net);
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_cur(net);
@@
-358,7
+358,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
const struct nft_table *table;
struct sk_buff *skb2;
int family = nfmsg->nfgen_family;
const struct nft_table *table;
struct sk_buff *skb2;
int family = nfmsg->nfgen_family;
-@@ -
578,11 +512
,7 @@ static int nf_tables_gettable(struct net
+@@ -
607,11 +541
,7 @@ static int nf_tables_gettable(struct net
return netlink_dump_start(nlsk, skb, nlh, &c);
}
return netlink_dump_start(nlsk, skb, nlh, &c);
}
@@
-371,7
+371,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -7
02,19 +632
,14 @@ static int nf_tables_newtable(struct net
+@@ -7
31,19 +661
,14 @@ static int nf_tables_newtable(struct net
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
const struct nlattr *name;
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
const struct nlattr *name;
@@
-392,7
+392,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (IS_ERR(table)) {
if (PTR_ERR(table) != -ENOENT)
return PTR_ERR(table);
if (IS_ERR(table)) {
if (PTR_ERR(table) != -ENOENT)
return PTR_ERR(table);
-@@ -7
24,7 +649
,7 @@ static int nf_tables_newtable(struct net
+@@ -7
53,7 +678
,7 @@ static int nf_tables_newtable(struct net
if (nlh->nlmsg_flags & NLM_F_REPLACE)
return -EOPNOTSUPP;
if (nlh->nlmsg_flags & NLM_F_REPLACE)
return -EOPNOTSUPP;
@@
-401,7
+401,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return nf_tables_updtable(&ctx);
}
return nf_tables_updtable(&ctx);
}
-@@ -7
34,40 +659
,34 @@ static int nf_tables_newtable(struct net
+@@ -7
63,40 +688
,34 @@ static int nf_tables_newtable(struct net
return -EINVAL;
}
return -EINVAL;
}
@@
-450,7
+450,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return err;
}
return err;
}
-@@ -8
38,10 +757
,10 @@ static int nft_flush(struct nft_ctx *ctx
+@@ -8
67,10 +786
,10 @@ static int nft_flush(struct nft_ctx *ctx
int err = 0;
list_for_each_entry_safe(table, nt, &ctx->net->nft.tables, list) {
int err = 0;
list_for_each_entry_safe(table, nt, &ctx->net->nft.tables, list) {
@@
-463,7
+463,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (!nft_is_active_next(ctx->net, table))
continue;
if (!nft_is_active_next(ctx->net, table))
continue;
-@@ -8
67,7 +786
,6 @@ static int nf_tables_deltable(struct net
+@@ -8
96,7 +815
,6 @@ static int nf_tables_deltable(struct net
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
@@
-471,7
+471,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_table *table;
int family = nfmsg->nfgen_family;
struct nft_ctx ctx;
struct nft_table *table;
int family = nfmsg->nfgen_family;
struct nft_ctx ctx;
-@@ -
876,11 +794
,7 @@ static int nf_tables_deltable(struct net
+@@ -
905,11 +823
,7 @@ static int nf_tables_deltable(struct net
if (family == AF_UNSPEC || nla[NFTA_TABLE_NAME] == NULL)
return nft_flush(&ctx, family);
if (family == AF_UNSPEC || nla[NFTA_TABLE_NAME] == NULL)
return nft_flush(&ctx, family);
@@
-484,7
+484,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -
889,7 +803
,7 @@ static int nf_tables_deltable(struct net
+@@ -
918,7 +832
,7 @@ static int nf_tables_deltable(struct net
table->use > 0)
return -EBUSY;
table->use > 0)
return -EBUSY;
@@
-493,7
+493,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
ctx.table = table;
return nft_flush_table(&ctx);
ctx.table = table;
return nft_flush_table(&ctx);
-@@ -9
01,7 +815
,6 @@ static void nf_tables_table_destroy(stru
+@@ -9
30,7 +844
,6 @@ static void nf_tables_table_destroy(stru
kfree(ctx->table->name);
kfree(ctx->table);
kfree(ctx->table->name);
kfree(ctx->table);
@@
-501,7
+501,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
}
int nft_register_chain_type(const struct nf_chain_type *ctype)
}
int nft_register_chain_type(const struct nf_chain_type *ctype)
-@@ -11
30,7 +1043
,7 @@ static int nf_tables_dump_chains(struct
+@@ -11
59,7 +1072
,7 @@ static int nf_tables_dump_chains(struct
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
@@
-510,7
+510,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
continue;
list_for_each_entry_rcu(chain, &table->chains, list) {
continue;
list_for_each_entry_rcu(chain, &table->chains, list) {
-@@ -11
46,7 +1059
,7 @@ static int nf_tables_dump_chains(struct
+@@ -11
75,7 +1088
,7 @@ static int nf_tables_dump_chains(struct
cb->nlh->nlmsg_seq,
NFT_MSG_NEWCHAIN,
NLM_F_MULTI,
cb->nlh->nlmsg_seq,
NFT_MSG_NEWCHAIN,
NLM_F_MULTI,
@@
-519,7
+519,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
chain) < 0)
goto done;
chain) < 0)
goto done;
-@@ -11
68,7 +1081
,6 @@ static int nf_tables_getchain(struct net
+@@ -11
97,7 +1110
,6 @@ static int nf_tables_getchain(struct net
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_cur(net);
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_cur(net);
@@
-527,7
+527,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
const struct nft_table *table;
const struct nft_chain *chain;
struct sk_buff *skb2;
const struct nft_table *table;
const struct nft_chain *chain;
struct sk_buff *skb2;
-@@ -1
182,11 +1094
,7 @@ static int nf_tables_getchain(struct net
+@@ -1
211,11 +1123
,7 @@ static int nf_tables_getchain(struct net
return netlink_dump_start(nlsk, skb, nlh, &c);
}
return netlink_dump_start(nlsk, skb, nlh, &c);
}
@@
-540,7
+540,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -15
50,7 +1458
,6 @@ static int nf_tables_newchain(struct net
+@@ -15
81,7 +1489
,6 @@ static int nf_tables_newchain(struct net
const struct nlattr * uninitialized_var(name);
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
const struct nlattr * uninitialized_var(name);
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
@@
-548,7
+548,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_table *table;
struct nft_chain *chain;
u8 policy = NF_ACCEPT;
struct nft_table *table;
struct nft_chain *chain;
u8 policy = NF_ACCEPT;
-@@ -15
60,11 +1467
,7 @@ static int nf_tables_newchain(struct net
+@@ -15
91,11 +1498
,7 @@ static int nf_tables_newchain(struct net
create = nlh->nlmsg_flags & NLM_F_CREATE ? true : false;
create = nlh->nlmsg_flags & NLM_F_CREATE ? true : false;
@@
-561,7
+561,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -16
05,7 +1508
,7 @@ static int nf_tables_newchain(struct net
+@@ -16
36,7 +1539
,7 @@ static int nf_tables_newchain(struct net
}
}
}
}
@@
-570,7
+570,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (chain != NULL) {
if (nlh->nlmsg_flags & NLM_F_EXCL)
if (chain != NULL) {
if (nlh->nlmsg_flags & NLM_F_EXCL)
-@@ -16
26,7 +1529
,6 @@ static int nf_tables_delchain(struct net
+@@ -16
57,7 +1560
,6 @@ static int nf_tables_delchain(struct net
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
@@
-578,7
+578,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_table *table;
struct nft_chain *chain;
struct nft_rule *rule;
struct nft_table *table;
struct nft_chain *chain;
struct nft_rule *rule;
-@@ -16
35,11 +1537
,7 @@ static int nf_tables_delchain(struct net
+@@ -16
66,11 +1568
,7 @@ static int nf_tables_delchain(struct net
u32 use;
int err;
u32 use;
int err;
@@
-591,7
+591,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -16
52,7 +1550
,7 @@ static int nf_tables_delchain(struct net
+@@ -16
83,7 +1581
,7 @@ static int nf_tables_delchain(struct net
chain->use > 0)
return -EBUSY;
chain->use > 0)
return -EBUSY;
@@
-600,7
+600,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
use = chain->use;
list_for_each_entry(rule, &chain->rules, list) {
use = chain->use;
list_for_each_entry(rule, &chain->rules, list) {
-@@ -2
075,7 +1973
,7 @@ static int nf_tables_dump_rules(struct s
+@@ -2
107,7 +2005
,7 @@ static int nf_tables_dump_rules(struct s
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
@@
-609,7
+609,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
continue;
if (ctx && ctx->table && strcmp(ctx->table, table->name) != 0)
continue;
if (ctx && ctx->table && strcmp(ctx->table, table->name) != 0)
-@@ -2
098,7 +1996
,7 @@ static int nf_tables_dump_rules(struct s
+@@ -2
130,7 +2028
,7 @@ static int nf_tables_dump_rules(struct s
cb->nlh->nlmsg_seq,
NFT_MSG_NEWRULE,
NLM_F_MULTI | NLM_F_APPEND,
cb->nlh->nlmsg_seq,
NFT_MSG_NEWRULE,
NLM_F_MULTI | NLM_F_APPEND,
@@
-618,7
+618,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
table, chain, rule) < 0)
goto done;
table, chain, rule) < 0)
goto done;
-@@ -21
34,7 +2032
,6 @@ static int nf_tables_getrule(struct net
+@@ -21
66,7 +2064
,6 @@ static int nf_tables_getrule(struct net
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_cur(net);
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_cur(net);
@@
-626,7
+626,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
const struct nft_table *table;
const struct nft_chain *chain;
const struct nft_rule *rule;
const struct nft_table *table;
const struct nft_chain *chain;
const struct nft_rule *rule;
-@@ -2
178,11 +2075
,7 @@ static int nf_tables_getrule(struct net
+@@ -2
210,11 +2107
,7 @@ static int nf_tables_getrule(struct net
return netlink_dump_start(nlsk, skb, nlh, &c);
}
return netlink_dump_start(nlsk, skb, nlh, &c);
}
@@
-639,7
+639,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -22
40,7 +2133
,7 @@ static int nf_tables_newrule(struct net
+@@ -22
79,7 +2172
,7 @@ static int nf_tables_newrule(struct net
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
@@
-648,7
+648,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_table *table;
struct nft_chain *chain;
struct nft_rule *rule, *old_rule = NULL;
struct nft_table *table;
struct nft_chain *chain;
struct nft_rule *rule, *old_rule = NULL;
-@@ -22
56,11 +2149
,7 @@ static int nf_tables_newrule(struct net
+@@ -22
95,11 +2188
,7 @@ static int nf_tables_newrule(struct net
create = nlh->nlmsg_flags & NLM_F_CREATE ? true : false;
create = nlh->nlmsg_flags & NLM_F_CREATE ? true : false;
@@
-661,7
+661,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -23
00,7 +2189
,7 @@ static int nf_tables_newrule(struct net
+@@ -23
39,7 +2228
,7 @@ static int nf_tables_newrule(struct net
return PTR_ERR(old_rule);
}
return PTR_ERR(old_rule);
}
@@
-670,7
+670,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
n = 0;
size = 0;
n = 0;
size = 0;
-@@ -24
24,18 +2313
,13 @@ static int nf_tables_delrule(struct net
+@@ -24
68,18 +2357
,13 @@ static int nf_tables_delrule(struct net
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
@@
-690,7
+690,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -24
47,7 +2331
,7 @@ static int nf_tables_delrule(struct net
+@@ -24
91,7 +2375
,7 @@ static int nf_tables_delrule(struct net
return PTR_ERR(chain);
}
return PTR_ERR(chain);
}
@@
-699,7
+699,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (chain) {
if (nla[NFTA_RULE_HANDLE]) {
if (chain) {
if (nla[NFTA_RULE_HANDLE]) {
-@@ -26
32,26 +2516
,17 @@ static int nft_ctx_init_from_setattr(str
+@@ -26
76,26 +2560
,17 @@ static int nft_ctx_init_from_setattr(str
u8 genmask)
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask)
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
@@
-729,7
+729,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return 0;
}
return 0;
}
-@@ -2
882,7 +2757
,7 @@ static int nf_tables_dump_sets(struct sk
+@@ -2
927,7 +2802
,7 @@ static int nf_tables_dump_sets(struct sk
list_for_each_entry_rcu(table, &net->nft.tables, list) {
if (ctx->family != NFPROTO_UNSPEC &&
list_for_each_entry_rcu(table, &net->nft.tables, list) {
if (ctx->family != NFPROTO_UNSPEC &&
@@
-738,7
+738,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
continue;
if (ctx->table && ctx->table != table)
continue;
if (ctx->table && ctx->table != table)
-@@ -29
03,7 +2778
,7 @@ static int nf_tables_dump_sets(struct sk
+@@ -29
48,7 +2823
,7 @@ static int nf_tables_dump_sets(struct sk
ctx_set = *ctx;
ctx_set.table = table;
ctx_set = *ctx;
ctx_set.table = table;
@@
-747,7
+747,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (nf_tables_fill_set(skb, &ctx_set, set,
NFT_MSG_NEWSET,
if (nf_tables_fill_set(skb, &ctx_set, set,
NFT_MSG_NEWSET,
-@@ -30
15,8 +2890
,8 @@ static int nf_tables_newset(struct net *
+@@ -30
60,8 +2935
,8 @@ static int nf_tables_newset(struct net *
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
@@
-757,7
+757,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_table *table;
struct nft_set *set;
struct nft_ctx ctx;
struct nft_table *table;
struct nft_set *set;
struct nft_ctx ctx;
-@@ -31
23,16 +2998
,12 @@ static int nf_tables_newset(struct net *
+@@ -31
68,16 +3043
,12 @@ static int nf_tables_newset(struct net *
create = nlh->nlmsg_flags & NLM_F_CREATE ? true : false;
create = nlh->nlmsg_flags & NLM_F_CREATE ? true : false;
@@
-776,7
+776,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
set = nf_tables_set_lookup(table, nla[NFTA_SET_NAME], genmask);
if (IS_ERR(set)) {
set = nf_tables_set_lookup(table, nla[NFTA_SET_NAME], genmask);
if (IS_ERR(set)) {
-@@ -3
390,19 +3261
,15 @@ static int nft_ctx_init_from_elemattr(st
+@@ -3
439,19 +3310
,15 @@ static int nft_ctx_init_from_elemattr(st
u8 genmask)
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask)
{
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
@@
-799,7
+799,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return 0;
}
return 0;
}
-@@ -35
20,7 +3387
,7 @@ static int nf_tables_dump_set(struct sk_
+@@ -35
69,7 +3436
,7 @@ static int nf_tables_dump_set(struct sk_
rcu_read_lock();
list_for_each_entry_rcu(table, &net->nft.tables, list) {
if (dump_ctx->ctx.family != NFPROTO_UNSPEC &&
rcu_read_lock();
list_for_each_entry_rcu(table, &net->nft.tables, list) {
if (dump_ctx->ctx.family != NFPROTO_UNSPEC &&
@@
-808,7
+808,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
continue;
if (table != dump_ctx->ctx.table)
continue;
if (table != dump_ctx->ctx.table)
-@@ -35
50,7 +3417
,7 @@ static int nf_tables_dump_set(struct sk_
+@@ -35
99,7 +3466
,7 @@ static int nf_tables_dump_set(struct sk_
goto nla_put_failure;
nfmsg = nlmsg_data(nlh);
goto nla_put_failure;
nfmsg = nlmsg_data(nlh);
@@
-817,7
+817,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
nfmsg->version = NFNETLINK_V0;
nfmsg->res_id = htons(net->nft.base_seq & 0xffff);
nfmsg->version = NFNETLINK_V0;
nfmsg->res_id = htons(net->nft.base_seq & 0xffff);
-@@ -44
27,7 +4294
,6 @@ static int nf_tables_newobj(struct net *
+@@ -44
78,7 +4345
,6 @@ static int nf_tables_newobj(struct net *
const struct nft_object_type *type;
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
const struct nft_object_type *type;
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
@@
-825,7
+825,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_table *table;
struct nft_object *obj;
struct nft_ctx ctx;
struct nft_table *table;
struct nft_object *obj;
struct nft_ctx ctx;
-@@ -44
39,11 +4305
,7 @@ static int nf_tables_newobj(struct net *
+@@ -44
90,11 +4356
,7 @@ static int nf_tables_newobj(struct net *
!nla[NFTA_OBJ_DATA])
return -EINVAL;
!nla[NFTA_OBJ_DATA])
return -EINVAL;
@@
-838,7
+838,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -4
462,7 +4324
,7 @@ static int nf_tables_newobj(struct net *
+@@ -4
513,7 +4375
,7 @@ static int nf_tables_newobj(struct net *
return 0;
}
return 0;
}
@@
-847,7
+847,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
type = nft_obj_type_get(objtype);
if (IS_ERR(type))
type = nft_obj_type_get(objtype);
if (IS_ERR(type))
-@@ -4
554,7 +4416
,7 @@ static int nf_tables_dump_obj(struct sk_
+@@ -4
605,7 +4467
,7 @@ static int nf_tables_dump_obj(struct sk_
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
@@
-856,7
+856,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
continue;
list_for_each_entry_rcu(obj, &table->objects, list) {
continue;
list_for_each_entry_rcu(obj, &table->objects, list) {
-@@ -4
577,7 +4439
,7 @@ static int nf_tables_dump_obj(struct sk_
+@@ -4
628,7 +4490
,7 @@ static int nf_tables_dump_obj(struct sk_
cb->nlh->nlmsg_seq,
NFT_MSG_NEWOBJ,
NLM_F_MULTI | NLM_F_APPEND,
cb->nlh->nlmsg_seq,
NFT_MSG_NEWOBJ,
NLM_F_MULTI | NLM_F_APPEND,
@@
-865,7
+865,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
obj, reset) < 0)
goto done;
obj, reset) < 0)
goto done;
-@@ -46
35,7 +4497
,6 @@ static int nf_tables_getobj(struct net *
+@@ -46
86,7 +4548
,6 @@ static int nf_tables_getobj(struct net *
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_cur(net);
int family = nfmsg->nfgen_family;
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_cur(net);
int family = nfmsg->nfgen_family;
@@
-873,7
+873,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
const struct nft_table *table;
struct nft_object *obj;
struct sk_buff *skb2;
const struct nft_table *table;
struct nft_object *obj;
struct sk_buff *skb2;
-@@ -4
666,11 +4527
,7 @@ static int nf_tables_getobj(struct net *
+@@ -4
717,11 +4578
,7 @@ static int nf_tables_getobj(struct net *
!nla[NFTA_OBJ_TYPE])
return -EINVAL;
!nla[NFTA_OBJ_TYPE])
return -EINVAL;
@@
-886,7
+886,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -47
17,7 +4574
,6 @@ static int nf_tables_delobj(struct net *
+@@ -47
68,7 +4625
,6 @@ static int nf_tables_delobj(struct net *
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
const struct nfgenmsg *nfmsg = nlmsg_data(nlh);
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
@@
-894,7
+894,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_table *table;
struct nft_object *obj;
struct nft_ctx ctx;
struct nft_table *table;
struct nft_object *obj;
struct nft_ctx ctx;
-@@ -47
27,11 +4583
,7 @@ static int nf_tables_delobj(struct net *
+@@ -47
78,11 +4634
,7 @@ static int nf_tables_delobj(struct net *
!nla[NFTA_OBJ_NAME])
return -EINVAL;
!nla[NFTA_OBJ_NAME])
return -EINVAL;
@@
-907,7
+907,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
genmask);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -47
43,7 +4595
,7 @@ static int nf_tables_delobj(struct net *
+@@ -47
94,7 +4646
,7 @@ static int nf_tables_delobj(struct net *
if (obj->use > 0)
return -EBUSY;
if (obj->use > 0)
return -EBUSY;
@@
-916,7
+916,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return nft_delobj(&ctx, obj);
}
return nft_delobj(&ctx, obj);
}
-@@ -49
28,33 +4780
,31 @@ err1:
+@@ -49
79,33 +4831
,31 @@ err1:
return err;
}
return err;
}
@@
-956,7
+956,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return ERR_PTR(-EAGAIN);
}
#endif
return ERR_PTR(-EAGAIN);
}
#endif
-@@ -50
02,7 +4852
,6 @@ static int nf_tables_newflowtable(struct
+@@ -50
53,7 +4903
,6 @@ static int nf_tables_newflowtable(struct
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
struct nft_flowtable *flowtable;
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
struct nft_flowtable *flowtable;
@@
-964,7
+964,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
struct nft_table *table;
struct nft_ctx ctx;
int err, i, k;
struct nft_table *table;
struct nft_ctx ctx;
int err, i, k;
-@@ -50
12,12 +4861
,8 @@ static int nf_tables_newflowtable(struct
+@@ -50
63,12 +4912
,8 @@ static int nf_tables_newflowtable(struct
!nla[NFTA_FLOWTABLE_HOOK])
return -EINVAL;
!nla[NFTA_FLOWTABLE_HOOK])
return -EINVAL;
@@
-978,7
+978,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (IS_ERR(table))
return PTR_ERR(table);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -50
34,7 +4879
,7 @@ static int nf_tables_newflowtable(struct
+@@ -50
85,7 +4930
,7 @@ static int nf_tables_newflowtable(struct
return 0;
}
return 0;
}
@@
-987,7
+987,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
flowtable = kzalloc(sizeof(*flowtable), GFP_KERNEL);
if (!flowtable)
flowtable = kzalloc(sizeof(*flowtable), GFP_KERNEL);
if (!flowtable)
-@@ -50
47,7 +4892
,7 @@ static int nf_tables_newflowtable(struct
+@@ -50
98,7 +4943
,7 @@ static int nf_tables_newflowtable(struct
goto err1;
}
goto err1;
}
@@
-996,7
+996,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (IS_ERR(type)) {
err = PTR_ERR(type);
goto err2;
if (IS_ERR(type)) {
err = PTR_ERR(type);
goto err2;
-@@ -51
07,16 +4952
,11 @@ static int nf_tables_delflowtable(struct
+@@ -51
58,16 +5003
,11 @@ static int nf_tables_delflowtable(struct
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
struct nft_flowtable *flowtable;
u8 genmask = nft_genmask_next(net);
int family = nfmsg->nfgen_family;
struct nft_flowtable *flowtable;
@@
-1014,7
+1014,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (IS_ERR(table))
return PTR_ERR(table);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -51
27,7 +4967
,7 @@ static int nf_tables_delflowtable(struct
+@@ -51
78,7 +5018
,7 @@ static int nf_tables_delflowtable(struct
if (flowtable->use > 0)
return -EBUSY;
if (flowtable->use > 0)
return -EBUSY;
@@
-1023,7
+1023,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return nft_delflowtable(&ctx, flowtable);
}
return nft_delflowtable(&ctx, flowtable);
}
-@@ -52
02,7 +5042
,7 @@ static int nf_tables_dump_flowtable(stru
+@@ -52
53,7 +5093
,7 @@ static int nf_tables_dump_flowtable(stru
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
cb->seq = net->nft.base_seq;
list_for_each_entry_rcu(table, &net->nft.tables, list) {
@@
-1032,7
+1032,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
continue;
list_for_each_entry_rcu(flowtable, &table->flowtables, list) {
continue;
list_for_each_entry_rcu(flowtable, &table->flowtables, list) {
-@@ -52
21,7 +5061
,7 @@ static int nf_tables_dump_flowtable(stru
+@@ -52
72,7 +5112
,7 @@ static int nf_tables_dump_flowtable(stru
cb->nlh->nlmsg_seq,
NFT_MSG_NEWFLOWTABLE,
NLM_F_MULTI | NLM_F_APPEND,
cb->nlh->nlmsg_seq,
NFT_MSG_NEWFLOWTABLE,
NLM_F_MULTI | NLM_F_APPEND,
@@
-1041,7
+1041,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
goto done;
nl_dump_check_consistent(cb, nlmsg_hdr(skb));
goto done;
nl_dump_check_consistent(cb, nlmsg_hdr(skb));
-@@ -5
281,7 +5121
,6 @@ static int nf_tables_getflowtable(struct
+@@ -5
332,7 +5172
,6 @@ static int nf_tables_getflowtable(struct
u8 genmask = nft_genmask_cur(net);
int family = nfmsg->nfgen_family;
struct nft_flowtable *flowtable;
u8 genmask = nft_genmask_cur(net);
int family = nfmsg->nfgen_family;
struct nft_flowtable *flowtable;
@@
-1049,7
+1049,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
const struct nft_table *table;
struct sk_buff *skb2;
int err;
const struct nft_table *table;
struct sk_buff *skb2;
int err;
-@@ -53
07,12 +5146
,8 @@ static int nf_tables_getflowtable(struct
+@@ -53
58,12 +5197
,8 @@ static int nf_tables_getflowtable(struct
if (!nla[NFTA_FLOWTABLE_NAME])
return -EINVAL;
if (!nla[NFTA_FLOWTABLE_NAME])
return -EINVAL;
@@
-1063,7
+1063,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (IS_ERR(table))
return PTR_ERR(table);
if (IS_ERR(table))
return PTR_ERR(table);
-@@ -6
476,7 +6311
,7 @@ int __nft_release_basechain(struct nft_c
+@@ -6
529,7 +6364
,7 @@ int __nft_release_basechain(struct nft_c
}
EXPORT_SYMBOL_GPL(__nft_release_basechain);
}
EXPORT_SYMBOL_GPL(__nft_release_basechain);
@@
-1072,7
+1072,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
{
struct nft_flowtable *flowtable, *nf;
struct nft_table *table, *nt;
{
struct nft_flowtable *flowtable, *nf;
struct nft_table *table, *nt;
-@@ -6
489,7 +6324
,7 @@ static void __nft_release_afinfo(struct
+@@ -6
542,7 +6377
,7 @@ static void __nft_release_afinfo(struct
};
list_for_each_entry_safe(table, nt, &net->nft.tables, list) {
};
list_for_each_entry_safe(table, nt, &net->nft.tables, list) {
@@
-1081,7
+1081,7
@@
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
list_for_each_entry(chain, &table->chains, list)
nf_tables_unregister_hook(net, table, chain);
list_for_each_entry(chain, &table->chains, list)
nf_tables_unregister_hook(net, table, chain);
-@@ -65
41,7 +6376
,7 @@ static int __net_init nf_tables_init_net
+@@ -65
94,7 +6429
,7 @@ static int __net_init nf_tables_init_net
static void __net_exit nf_tables_exit_net(struct net *net)
{
static void __net_exit nf_tables_exit_net(struct net *net)
{