You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
From: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
Date: Tue, 19 Dec 2017 14:07:52 +0100
|
|
Subject: [PATCH] netfilter: nf_tables: remove flag field from struct
|
|
nft_af_info
|
|
|
|
Replace it by a direct check for the netdev protocol family.
|
|
|
|
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
---
|
|
|
|
--- a/include/net/netfilter/nf_tables.h
|
|
+++ b/include/net/netfilter/nf_tables.h
|
|
@@ -959,10 +959,6 @@ struct nft_table {
|
|
char *name;
|
|
};
|
|
|
|
-enum nft_af_flags {
|
|
- NFT_AF_NEEDS_DEV = (1 << 0),
|
|
-};
|
|
-
|
|
/**
|
|
* struct nft_af_info - nf_tables address family info
|
|
*
|
|
@@ -970,14 +966,12 @@ enum nft_af_flags {
|
|
* @family: address family
|
|
* @owner: module owner
|
|
* @tables: used internally
|
|
- * @flags: family flags
|
|
*/
|
|
struct nft_af_info {
|
|
struct list_head list;
|
|
int family;
|
|
struct module *owner;
|
|
struct list_head tables;
|
|
- u32 flags;
|
|
};
|
|
|
|
int nft_register_afinfo(struct net *, struct nft_af_info *);
|
|
--- a/net/netfilter/nf_tables_api.c
|
|
+++ b/net/netfilter/nf_tables_api.c
|
|
@@ -1376,7 +1376,7 @@ static int nft_chain_parse_hook(struct n
|
|
hook->type = type;
|
|
|
|
hook->dev = NULL;
|
|
- if (afi->flags & NFT_AF_NEEDS_DEV) {
|
|
+ if (afi->family == NFPROTO_NETDEV) {
|
|
char ifname[IFNAMSIZ];
|
|
|
|
if (!ha[NFTA_HOOK_DEV]) {
|
|
--- a/net/netfilter/nf_tables_netdev.c
|
|
+++ b/net/netfilter/nf_tables_netdev.c
|
|
@@ -41,7 +41,6 @@ nft_do_chain_netdev(void *priv, struct s
|
|
static struct nft_af_info nft_af_netdev __read_mostly = {
|
|
.family = NFPROTO_NETDEV,
|
|
.owner = THIS_MODULE,
|
|
- .flags = NFT_AF_NEEDS_DEV,
|
|
};
|
|
|
|
static int nf_tables_netdev_init_net(struct net *net)
|
|
|