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.
60 lines
2.0 KiB
60 lines
2.0 KiB
From: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
Date: Tue, 19 Dec 2017 13:40:22 +0100
|
|
Subject: [PATCH] netfilter: nf_tables: remove struct nft_af_info parameter in
|
|
nf_tables_chain_type_lookup()
|
|
|
|
Pass family number instead, this comes in preparation for the removal of
|
|
struct nft_af_info.
|
|
|
|
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
---
|
|
|
|
--- a/net/netfilter/nf_tables_api.c
|
|
+++ b/net/netfilter/nf_tables_api.c
|
|
@@ -423,7 +423,7 @@ static inline u64 nf_tables_alloc_handle
|
|
static const struct nf_chain_type *chain_type[NFPROTO_NUMPROTO][NFT_CHAIN_T_MAX];
|
|
|
|
static const struct nf_chain_type *
|
|
-__nf_tables_chain_type_lookup(int family, const struct nlattr *nla)
|
|
+__nf_tables_chain_type_lookup(const struct nlattr *nla, u8 family)
|
|
{
|
|
int i;
|
|
|
|
@@ -436,22 +436,20 @@ __nf_tables_chain_type_lookup(int family
|
|
}
|
|
|
|
static const struct nf_chain_type *
|
|
-nf_tables_chain_type_lookup(const struct nft_af_info *afi,
|
|
- const struct nlattr *nla,
|
|
- bool autoload)
|
|
+nf_tables_chain_type_lookup(const struct nlattr *nla, u8 family, bool autoload)
|
|
{
|
|
const struct nf_chain_type *type;
|
|
|
|
- type = __nf_tables_chain_type_lookup(afi->family, nla);
|
|
+ type = __nf_tables_chain_type_lookup(nla, family);
|
|
if (type != NULL)
|
|
return type;
|
|
#ifdef CONFIG_MODULES
|
|
if (autoload) {
|
|
nfnl_unlock(NFNL_SUBSYS_NFTABLES);
|
|
- request_module("nft-chain-%u-%.*s", afi->family,
|
|
+ request_module("nft-chain-%u-%.*s", family,
|
|
nla_len(nla), (const char *)nla_data(nla));
|
|
nfnl_lock(NFNL_SUBSYS_NFTABLES);
|
|
- type = __nf_tables_chain_type_lookup(afi->family, nla);
|
|
+ type = __nf_tables_chain_type_lookup(nla, family);
|
|
if (type != NULL)
|
|
return ERR_PTR(-EAGAIN);
|
|
}
|
|
@@ -1325,8 +1323,8 @@ static int nft_chain_parse_hook(struct n
|
|
|
|
type = chain_type[afi->family][NFT_CHAIN_T_DEFAULT];
|
|
if (nla[NFTA_CHAIN_TYPE]) {
|
|
- type = nf_tables_chain_type_lookup(afi, nla[NFTA_CHAIN_TYPE],
|
|
- create);
|
|
+ type = nf_tables_chain_type_lookup(nla[NFTA_CHAIN_TYPE],
|
|
+ afi->family, create);
|
|
if (IS_ERR(type))
|
|
return PTR_ERR(type);
|
|
}
|
|
|