diff options
author | Mirek Kratochvil <exa.exa@gmail.com> | 2015-05-15 21:15:29 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-03-03 15:06:44 -0800 |
commit | 7447ae218890f6cb5d500e26361fec215be8e606 (patch) | |
tree | 666187c33a43dd4aefbebc669e372a19173daa72 /net | |
parent | 36913890c5cdeddec7c143d63f2892a6314686e5 (diff) | |
download | lwn-7447ae218890f6cb5d500e26361fec215be8e606.tar.gz lwn-7447ae218890f6cb5d500e26361fec215be8e606.zip |
netfilter: nf_tables: fix bogus warning in nft_data_uninit()
commit 960bd2c26421d321e890f1936938196ead41976f upstream.
The values 0x00000000-0xfffffeff are reserved for userspace datatype. When,
deleting set elements with maps, a bogus warning is triggered.
WARNING: CPU: 0 PID: 11133 at net/netfilter/nf_tables_api.c:4481 nft_data_uninit+0x35/0x40 [nf_tables]()
This fixes the check accordingly to enum definition in
include/linux/netfilter/nf_tables.h
Fixes: https://bugzilla.netfilter.org/show_bug.cgi?id=1013
Signed-off-by: Mirek Kratochvil <exa.exa@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nf_tables_api.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 99de2409f731..4e8d90b8fc01 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -3316,9 +3316,9 @@ EXPORT_SYMBOL_GPL(nft_data_init); */ void nft_data_uninit(const struct nft_data *data, enum nft_data_types type) { - switch (type) { - case NFT_DATA_VALUE: + if (type < NFT_DATA_VERDICT) return; + switch (type) { case NFT_DATA_VERDICT: return nft_verdict_uninit(data); default: |