diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-10-14 12:43:50 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2014-10-14 12:52:40 +0200 |
commit | 493618a92c6afdd3f6224ab586f169d6a259bb06 (patch) | |
tree | 53888e90a90e3a663d23581dc072f60364bf922d /net | |
parent | 7210e4e38f945dfa173c4a4e59ad827c9ecad541 (diff) | |
download | linux-493618a92c6afdd3f6224ab586f169d6a259bb06.tar.gz linux-493618a92c6afdd3f6224ab586f169d6a259bb06.tar.bz2 linux-493618a92c6afdd3f6224ab586f169d6a259bb06.zip |
netfilter: nft_compat: fix hook validation for non-base chains
Set hook_mask to zero for non-base chains, otherwise people may hit
bogus errors from the xt_check_target() and xt_check_match() when
validating the uninitialized hook_mask.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nft_compat.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/netfilter/nft_compat.c b/net/netfilter/nft_compat.c index 7e2683c8a44a..44ae273b4391 100644 --- a/net/netfilter/nft_compat.c +++ b/net/netfilter/nft_compat.c @@ -95,6 +95,8 @@ nft_target_set_tgchk_param(struct xt_tgchk_param *par, const struct nf_hook_ops *ops = &basechain->ops[0]; par->hook_mask = 1 << ops->hooknum; + } else { + par->hook_mask = 0; } par->family = ctx->afi->family; } @@ -293,6 +295,8 @@ nft_match_set_mtchk_param(struct xt_mtchk_param *par, const struct nft_ctx *ctx, const struct nf_hook_ops *ops = &basechain->ops[0]; par->hook_mask = 1 << ops->hooknum; + } else { + par->hook_mask = 0; } par->family = ctx->afi->family; } |