From: Florian Westphal <fw@strlen.de>
To: <netdev@vger.kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
<netfilter-devel@vger.kernel.org>,
pablo@netfilter.org
Subject: [PATCH net v2 0/3] netfilter: updates for net
Date: Thu, 5 Mar 2026 13:26:32 +0100 [thread overview]
Message-ID: <20260305122635.23525-1-fw@strlen.de> (raw)
[ v2: remove patch 1 from series, no other changes ]
Hi,
The following patchset contains Netfilter fixes for *net*:
1) Inseo An reported a bug with the set element handling in nf_tables:
When set cannot accept more elements, we unlink and immediately free
an element that was inserted into a public data structure, freeing it
without waiting for RCU grace period. Fix this by doing the
increment earlier and by deferring possible unlink-and-free to the
existing abort path, which performs the needed synchronize_rcu before
free. From Pablo Neira Ayuso. This is an ancient bug, dating back to
kernel 4.10.
2) syzbot reported WARN_ON() splat in nf_tables that occurs on memory
allocation failure. Fix this by a new iterator annotation:
The affected walker does not need to clone the data structure and
can just use the live version if no clone exists yet.
Also from Pablo. This bug existed since 6.10 days.
3) Ancient forever bug in nft_pipapo data structure:
The garbage collection logic to remove expired elements is broken.
We must unlink from data structure and can only hand the freeing
to call_rcu after the clone/live pointers of the data structures
have been swapped. Else, readers can observe the free'd element.
Reported by Yiming Qian.
Please, pull these changes from:
The following changes since commit b824c3e16c1904bf80df489e293d1e3cbf98896d:
net: Provide a PREEMPT_RT specific check for netdev_queue::_xmit_lock (2026-03-05 12:14:21 +0100)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git tags/nf-26-03-05
for you to fetch changes up to 9df95785d3d8302f7c066050117b04cd3c2048c2:
netfilter: nft_set_pipapo: split gc into unlink and reclaim phase (2026-03-05 13:22:37 +0100)
----------------------------------------------------------------
netfilter pull request nf-26-03-05
----------------------------------------------------------------
Florian Westphal (1):
netfilter: nft_set_pipapo: split gc into unlink and reclaim phase
Pablo Neira Ayuso (2):
netfilter: nf_tables: unconditionally bump set->nelems before insertion
netfilter: nf_tables: clone set on flush only
include/net/netfilter/nf_tables.h | 7 ++++
net/netfilter/nf_tables_api.c | 45 ++++++++++++----------
net/netfilter/nft_set_hash.c | 1 +
net/netfilter/nft_set_pipapo.c | 62 ++++++++++++++++++++++++++-----
net/netfilter/nft_set_pipapo.h | 2 +
net/netfilter/nft_set_rbtree.c | 8 ++--
6 files changed, 92 insertions(+), 33 deletions(-)
--
2.52.0
next reply other threads:[~2026-03-05 12:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-05 12:26 Florian Westphal [this message]
2026-03-05 12:26 ` [PATCH net v2 1/3] netfilter: nf_tables: unconditionally bump set->nelems before insertion Florian Westphal
2026-03-05 16:00 ` patchwork-bot+netdevbpf
2026-03-05 12:26 ` [PATCH net v2 2/3] netfilter: nf_tables: clone set on flush only Florian Westphal
2026-03-05 12:26 ` [PATCH net v2 3/3] netfilter: nft_set_pipapo: split gc into unlink and reclaim phase Florian Westphal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260305122635.23525-1-fw@strlen.de \
--to=fw@strlen.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox