netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 17 Oct 2022 12:12:58 +0000 (14:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 29 Oct 2022 08:12:56 +0000 (10:12 +0200)
commitd77f6908f9cec12857075f138419b8cea359121d
tree448f31946acae990f55ae81efec7c82e685e39d0
parentefa9dd7e679eac06fba75f1d36b17161b48c02b7
netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements

[ Upstream commit 96df8360dbb435cc69f7c3c8db44bf8b1c24cd7b ]

Otherwise EINVAL is bogusly reported to userspace when deleting a set
element. NFTA_SET_ELEM_KEY_END does not need to be set in case of:

- insertion: if not present, start key is used as end key.
- deletion: only start key needs to be specified, end key is ignored.

Hence, relax the sanity check.

Fixes: 88cccd908d51 ("netfilter: nf_tables: NFTA_SET_ELEM_KEY_END requires concat and interval flags")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/netfilter/nf_tables_api.c