On Mon, 14 Oct 2024 13:14:11 +0200 Pablo Neira Ayuso wrote: > Hi, > > The following series contains Netfilter updates for net-next: > > 1) Fix sparse warning in nf_tables related to use of percpu counters, > from Uros Bizjak. > > 2) use strscpy_pad in nft_meta_bridge, from Justin Stitt. > > 3) A series from patch #3 to patch #7 to reduce memory footprint of set > element transactions, Florian Westphal says: > > When doing a flush on a set or mass adding/removing elements from a > set, each element needs to allocate 96 bytes to hold the transactional > state. > > In such cases, virtually all the information in struct nft_trans_elem > is the same. > > Change nft_trans_elem to a flex-array, i.e. a single nft_trans_elem > can hold multiple set element pointers. > > The number of elements that can be stored in one nft_trans_elem is limited > by the slab allocator, this series limits the compaction to at most 62 > elements as it caps the reallocation to 2048 bytes of memory. > > 4) Document legacy toggles for xtables packet classifiers, from > Bruno Leitao. > > 5) Use kfree_rcu() instead of call_rcu() + kmem_cache_free(), from Julia Lawall. Hi! Are you seeing any failures in nft_audit? I haven't looked closely but it seems that this PR causes: <snip> # testing for cmd: nft reset quotas t1 ... OK # testing for cmd: nft reset quotas t2 ... OK # testing for cmd: nft reset quotas ... OK # testing for cmd: nft delete rule t1 c1 handle 4 ... OK # testing for cmd: nft delete rule t1 c1 handle 5; delete rule t1 c1 handle 6 ... OK # testing for cmd: nft flush chain t1 c2 ... OK # testing for cmd: nft flush table t2 ... OK # testing for cmd: nft delete chain t2 c2 ... OK # testing for cmd: nft delete element t1 s { 22 } ... OK # testing for cmd: nft delete element t1 s { 80, 443 } ... FAIL # -table=t1 family=2 entries=2 op=nft_unregister_setelem # +table=t1 family=2 entries=1 op=nft_unregister_setelem # testing for cmd: nft flush set t1 s2 ... FAIL # -table=t1 family=2 entries=3 op=nft_unregister_setelem # +table=t1 family=2 entries=1 op=nft_unregister_setelem # testing for cmd: nft delete set t1 s2 ... OK # testing for cmd: nft delete set t1 s3 ... OK not ok 1 selftests: net/netfilter: nft_audit.sh # exit=251 https://netdev-3.bots.linux.dev/vmksft-nf-dbg/results/815301/10-nft-audit-sh/stdout