]> git.ipfire.org Git - thirdparty/linux.git/commit
netfilter: flowtable: publish GC-visible tuple last
authorJérémy Jean <Jeremy.Jean@oss.cyber.gouv.fr>
Sat, 8 Aug 2026 12:40:02 +0000 (12:40 +0000)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 10 Aug 2026 18:27:50 +0000 (20:27 +0200)
commit2014ac62df9d45bb9a004a043e85df7be09ed780
treee369bd0bde999450942f7ed3d40123ab57c0c297
parentd02f592064347e0c1e0d84f24941ad338838cc48
netfilter: flowtable: publish GC-visible tuple last

nf_flow_table_iterate() only treats original-direction tuple nodes as
owning entries. Publishing the original node first lets GC observe and
free a flow while flow_offload_add() is still inserting the reply node.
Publish the reply node first and the original node last so GC never
sees a partially installed flow.

KASAN can trigger slab-use-after-free read and write reports in the
flowtable/rhashtable path (rht_deferred_worker, jhash, flow_offload_del,
flow_offload_lookup, etc.).

Fixes: ac2a66665e23 ("netfilter: add generic flow table infrastructure")
Signed-off-by: Jérémy Jean <Jeremy.Jean@oss.cyber.gouv.fr>
Assisted-by: Codex:gpt-5
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_flow_table_core.c