mirror-linux/include
Pablo Neira Ayuso 10f79dbd77 netfilter: nf_tables: add hook transactions for device deletions
Restore the flag that indicates that the hook is going away, ie.
NFT_HOOK_REMOVE, but add a new transaction object to track deletion
of hooks without altering the basechain/flowtable hook_list during
the preparation phase.

The existing approach that moves the hook from the basechain/flowtable
hook_list to transaction hook_list breaks netlink dump path readers
of this RCU-protected list.

It should be possible use an array for nft_trans_hook to store the
deleted hooks to compact the representation but I am not expecting
many hook object, specially now that wildcard support for devices
is in place.

Note that the nft_trans_chain_hooks() list contains a list of struct
nft_trans_hook objects for DELCHAIN and DELFLOWTABLE commands, while
this list stores struct nft_hook objects for NEWCHAIN and NEWFLOWTABLE.
Note that new commands can be updated to use nft_trans_hook for
consistency.

This patch also adapts the event notification path to deal with the list
of hook transactions.

Fixes: 7d937b1071 ("netfilter: nf_tables: support for deleting devices in an existing netdev chain")
Fixes: b6d9014a33 ("netfilter: nf_tables: delete flowtable hooks via transaction list")
Reported-by: Xiang Mei <xmei5@asu.edu>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-04-21 12:48:44 +02:00
..
acpi Power management updates for 7.1-rc1 2026-04-13 19:47:52 -07:00
asm-generic Modules changes for v7.1-rc1 2026-04-14 17:16:38 -07:00
clocksource
crypto Crypto library updates for 7.1 2026-04-13 17:31:39 -07:00
cxl
drm
dt-bindings
hyperv mshv: Fix infinite fault loop on permission-denied GPA intercepts 2026-04-04 05:25:53 +00:00
keys
kunit
kvm
linux rculist: add list_splice_rcu() for private lists 2026-04-21 12:48:44 +02:00
math-emu
media
memory
misc
net netfilter: nf_tables: add hook transactions for device deletions 2026-04-21 12:48:44 +02:00
pcmcia
ras
rdma
rv
scsi
soc
sound ASoC: SDCA: Unregister IRQ handlers on module remove 2026-04-08 16:55:30 +01:00
target
trace Networking changes for 7.1. 2026-04-14 18:36:10 -07:00
uapi vfs-7.1-rc1.mount.v2 2026-04-14 19:59:25 -07:00
ufs
vdso
video
xen
Kbuild