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>
This commit is contained in:
parent
c9c17211ec
commit
1ea26cca52
|
@ -423,7 +423,7 @@ static inline u64 nf_tables_alloc_handle(struct nft_table *table)
|
||||||
static const struct nf_chain_type *chain_type[NFPROTO_NUMPROTO][NFT_CHAIN_T_MAX];
|
static const struct nf_chain_type *chain_type[NFPROTO_NUMPROTO][NFT_CHAIN_T_MAX];
|
||||||
|
|
||||||
static const struct nf_chain_type *
|
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;
|
int i;
|
||||||
|
|
||||||
|
@ -436,22 +436,20 @@ __nf_tables_chain_type_lookup(int family, const struct nlattr *nla)
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct nf_chain_type *
|
static const struct nf_chain_type *
|
||||||
nf_tables_chain_type_lookup(const struct nft_af_info *afi,
|
nf_tables_chain_type_lookup(const struct nlattr *nla, u8 family, bool autoload)
|
||||||
const struct nlattr *nla,
|
|
||||||
bool autoload)
|
|
||||||
{
|
{
|
||||||
const struct nf_chain_type *type;
|
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)
|
if (type != NULL)
|
||||||
return type;
|
return type;
|
||||||
#ifdef CONFIG_MODULES
|
#ifdef CONFIG_MODULES
|
||||||
if (autoload) {
|
if (autoload) {
|
||||||
nfnl_unlock(NFNL_SUBSYS_NFTABLES);
|
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));
|
nla_len(nla), (const char *)nla_data(nla));
|
||||||
nfnl_lock(NFNL_SUBSYS_NFTABLES);
|
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)
|
if (type != NULL)
|
||||||
return ERR_PTR(-EAGAIN);
|
return ERR_PTR(-EAGAIN);
|
||||||
}
|
}
|
||||||
|
@ -1325,8 +1323,8 @@ static int nft_chain_parse_hook(struct net *net,
|
||||||
|
|
||||||
type = chain_type[afi->family][NFT_CHAIN_T_DEFAULT];
|
type = chain_type[afi->family][NFT_CHAIN_T_DEFAULT];
|
||||||
if (nla[NFTA_CHAIN_TYPE]) {
|
if (nla[NFTA_CHAIN_TYPE]) {
|
||||||
type = nf_tables_chain_type_lookup(afi, nla[NFTA_CHAIN_TYPE],
|
type = nf_tables_chain_type_lookup(nla[NFTA_CHAIN_TYPE],
|
||||||
create);
|
afi->family, create);
|
||||||
if (IS_ERR(type))
|
if (IS_ERR(type))
|
||||||
return PTR_ERR(type);
|
return PTR_ERR(type);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue