netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 18 Apr 2022 10:21:05 +0000 (12:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 May 2022 07:05:02 +0000 (09:05 +0200)
commit6ac03e6ddde97faa4b93097efda89fdbf26f2737
tree7868b7cb026db7c931c22d4d0a8b077e565630c6
parent72ae15d5ce5fd37f3c36fd0a5a3de3cf266c11e8
netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion

[ Upstream commit babc3dc9524f0bcb5a0ec61f3c3639b11508fad6 ]

This patch fixes spurious EEXIST errors.

Extend d2df92e98a34 ("netfilter: nft_set_rbtree: handle element
re-addition after deletion") to deal with elements with same end flags
in the same transation.

Reset the overlap flag as described by 7c84d41416d8 ("netfilter:
nft_set_rbtree: Detect partial overlaps on insertion").

Fixes: 7c84d41416d8 ("netfilter: nft_set_rbtree: Detect partial overlaps on insertion")
Fixes: d2df92e98a34 ("netfilter: nft_set_rbtree: handle element re-addition after deletion")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/netfilter/nft_set_rbtree.c