mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-01 11:24:25 +08:00
netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements
[ Upstream commit96df8360db
] 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:88cccd908d
("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>
This commit is contained in:
parent
efa9dd7e67
commit
d77f6908f9
@ -5720,8 +5720,9 @@ static bool nft_setelem_valid_key_end(const struct nft_set *set,
|
||||
(NFT_SET_CONCAT | NFT_SET_INTERVAL)) {
|
||||
if (flags & NFT_SET_ELEM_INTERVAL_END)
|
||||
return false;
|
||||
if (!nla[NFTA_SET_ELEM_KEY_END] &&
|
||||
!(flags & NFT_SET_ELEM_CATCHALL))
|
||||
|
||||
if (nla[NFTA_SET_ELEM_KEY_END] &&
|
||||
flags & NFT_SET_ELEM_CATCHALL)
|
||||
return false;
|
||||
} else {
|
||||
if (nla[NFTA_SET_ELEM_KEY_END])
|
||||
|
Loading…
Reference in New Issue
Block a user