diff options
author | Pablo Neira Ayuso | 2018-03-27 11:53:06 +0200 |
---|---|---|
committer | Pablo Neira Ayuso | 2018-03-30 11:29:18 +0200 |
commit | cc07eeb0e5ee18895241460bdccf91a4952731f9 (patch) | |
tree | d13f7712413b05a12acdb22967d7c6e422daff1c /net/netfilter/nf_tables_api.c | |
parent | netfilter: nf_tables: rename struct nf_chain_type (diff) | |
download | kernel-qcow2-linux-cc07eeb0e5ee18895241460bdccf91a4952731f9.tar.gz kernel-qcow2-linux-cc07eeb0e5ee18895241460bdccf91a4952731f9.tar.xz kernel-qcow2-linux-cc07eeb0e5ee18895241460bdccf91a4952731f9.zip |
netfilter: nf_tables: nft_register_chain_type() returns void
Use WARN_ON() instead since it should not happen that neither family
goes over NFPROTO_NUMPROTO nor there is already a chain of this type
already registered.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nf_tables_api.c')
-rw-r--r-- | net/netfilter/nf_tables_api.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index bf564f491085..9e4b1614ee39 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -859,22 +859,18 @@ static void nf_tables_table_destroy(struct nft_ctx *ctx) kfree(ctx->table); } -int nft_register_chain_type(const struct nft_chain_type *ctype) +void nft_register_chain_type(const struct nft_chain_type *ctype) { - int err = 0; - if (WARN_ON(ctype->family >= NFPROTO_NUMPROTO)) - return -EINVAL; + return; nfnl_lock(NFNL_SUBSYS_NFTABLES); - if (chain_type[ctype->family][ctype->type] != NULL) { - err = -EBUSY; - goto out; + if (WARN_ON(chain_type[ctype->family][ctype->type] != NULL)) { + nfnl_unlock(NFNL_SUBSYS_NFTABLES); + return; } chain_type[ctype->family][ctype->type] = ctype; -out: nfnl_unlock(NFNL_SUBSYS_NFTABLES); - return err; } EXPORT_SYMBOL_GPL(nft_register_chain_type); |