mirror-linux/tools/testing
Florian Westphal 5ec8ca26fe netfilter: nf_nat: remove bogus direction check
Jakub reports spurious failures of the 'conntrack_reverse_clash.sh'
selftest.  A bogus test makes nat core resort to port rewrite even
though there is no need for this.

When the test is made, nf_nat_used_tuple() would already have caused us
to return if no other CPU had added a colliding entry.
Moreover, nf_nat_used_tuple() would have ignored the colliding entry if
their origin tuples had been the same.

All that is left to check is if the colliding entry in the hash table
is subject to NAT, and, if its not, if our entry matches in the reverse
direction, e.g. hash table has

addr1:1234 -> addr2:80, and we want to commit
addr2:80   -> addr1:1234.

Because we already checked that neither the new nor the committed entry is
subject to NAT we only have to check origin vs. reply tuple:
for non-nat entries, the reply tuple is always the inverted original.

Just in case there are more problems extend the error reporting
in the selftest while at it and dump conntrack table/stats on error.

Reported-by: Jakub Kicinski <kuba@kernel.org>
Closes: https://lore.kernel.org/netdev/20251206175135.4a56591b@kernel.org/
Fixes: d8f84a9bc7 ("netfilter: nf_nat: don't try nat source port reallocation for reverse dir clash")
Signed-off-by: Florian Westphal <fw@strlen.de>
2025-12-11 13:08:37 +01:00
..
crypto/chacha20-s390
cxl Merge branch 'for-6.18/cxl-delay-dport' into cxl-for-next 2025-09-18 14:34:51 -07:00
fault-injection
ktest ktest.pl: Add new PATCHCHECK_SKIP option to skip testing individual commits 2025-07-29 09:30:08 -04:00
kunit kunit: qemu_configs: Add MIPS configurations 2025-09-15 10:30:07 -06:00
memblock
nvdimm nvdimm: ndtest: Return -ENOMEM if devm_kcalloc() fails in ndtest_probe() 2025-09-25 12:49:46 -05:00
radix-tree Patch series in this pull request: 2025-10-02 18:44:54 -07:00
rbtree
scatterlist mm: remove nth_page() 2025-09-21 14:22:10 -07:00
selftests netfilter: nf_nat: remove bogus direction check 2025-12-11 13:08:37 +01:00
shared Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
vma Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
vsock vsock/test: Extend transport change null-ptr-deref test 2025-11-25 19:16:21 -08:00