From: Greg Kroah-Hartman Date: Tue, 19 May 2020 14:06:25 +0000 (+0200) Subject: drop queue-4.19/netfilter-nft_set_rbtree-add-missing-expired-checks.patch X-Git-Tag: v4.4.224~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=af2b5e44e1a9693cd2b3b3895dc1452f9593a615;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-4.19/netfilter-nft_set_rbtree-add-missing-expired-checks.patch --- diff --git a/queue-4.19/netfilter-nft_set_rbtree-add-missing-expired-checks.patch b/queue-4.19/netfilter-nft_set_rbtree-add-missing-expired-checks.patch deleted file mode 100644 index 69dd9634de7..00000000000 --- a/queue-4.19/netfilter-nft_set_rbtree-add-missing-expired-checks.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 340eaff651160234bdbce07ef34b92a8e45cd540 Mon Sep 17 00:00:00 2001 -From: Phil Sutter -Date: Mon, 11 May 2020 15:31:41 +0200 -Subject: netfilter: nft_set_rbtree: Add missing expired checks - -From: Phil Sutter - -commit 340eaff651160234bdbce07ef34b92a8e45cd540 upstream. - -Expired intervals would still match and be dumped to user space until -garbage collection wiped them out. Make sure they stop matching and -disappear (from users' perspective) as soon as they expire. - -Fixes: 8d8540c4f5e03 ("netfilter: nft_set_rbtree: add timeout support") -Signed-off-by: Phil Sutter -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Greg Kroah-Hartman - ---- - net/netfilter/nft_set_rbtree.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - ---- a/net/netfilter/nft_set_rbtree.c -+++ b/net/netfilter/nft_set_rbtree.c -@@ -82,6 +82,10 @@ static bool __nft_rbtree_lookup(const st - parent = rcu_dereference_raw(parent->rb_left); - continue; - } -+ -+ if (nft_set_elem_expired(&rbe->ext)) -+ return false; -+ - if (nft_rbtree_interval_end(rbe)) { - if (nft_set_is_anonymous(set)) - return false; -@@ -97,6 +101,7 @@ static bool __nft_rbtree_lookup(const st - - if (set->flags & NFT_SET_INTERVAL && interval != NULL && - nft_set_elem_active(&interval->ext, genmask) && -+ !nft_set_elem_expired(&interval->ext) && - nft_rbtree_interval_start(interval)) { - *ext = &interval->ext; - return true; -@@ -154,6 +159,9 @@ static bool __nft_rbtree_get(const struc - continue; - } - -+ if (nft_set_elem_expired(&rbe->ext)) -+ return false; -+ - if (!nft_set_ext_exists(&rbe->ext, NFT_SET_EXT_FLAGS) || - (*nft_set_ext_flags(&rbe->ext) & NFT_SET_ELEM_INTERVAL_END) == - (flags & NFT_SET_ELEM_INTERVAL_END)) { -@@ -170,6 +178,7 @@ static bool __nft_rbtree_get(const struc - - if (set->flags & NFT_SET_INTERVAL && interval != NULL && - nft_set_elem_active(&interval->ext, genmask) && -+ !nft_set_elem_expired(&interval->ext) && - !nft_rbtree_interval_end(interval)) { - *elem = interval; - return true; -@@ -352,6 +361,8 @@ static void nft_rbtree_walk(const struct - - if (iter->count < iter->skip) - goto cont; -+ if (nft_set_elem_expired(&rbe->ext)) -+ goto cont; - if (!nft_set_elem_active(&rbe->ext, iter->genmask)) - goto cont; - diff --git a/queue-4.19/series b/queue-4.19/series index 22fa5858903..cd83b1aaa00 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -78,4 +78,3 @@ arm64-dts-renesas-r8a77980-fix-ipmmu-vip-nodes.patch arm-dts-r8a7740-add-missing-extal2-to-cpg-node.patch kvm-x86-fix-off-by-one-error-in-kvm_vcpu_ioctl_x86_setup_mce.patch makefile-disallow-data-races-on-gcc-10-as-well.patch -netfilter-nft_set_rbtree-add-missing-expired-checks.patch