diff mbox series

[nf] netfilter: nf_tables: hide clash bit from userspace

Message ID 20250707203247.25155-1-fw@strlen.de
State Accepted
Headers show
Series [nf] netfilter: nf_tables: hide clash bit from userspace | expand

Commit Message

Florian Westphal July 7, 2025, 8:32 p.m. UTC
Its a kernel implementation detail, at least at this time:

We can later decide to revert this patch if there is a compelling
reason, but then we should also remove the ifdef that prevents exposure
of ip_conntrack_status enum IPS_NAT_CLASH value in the uapi header.

Clash entries are not included in dumps (true for both old /proc
and ctnetlink) either.  So for now exlude the clash bit when dumping.

Fixes: 7e5c6aa67e6f ("netfilter: nf_tables: add packets conntrack state to debug trace info")
Link: https://lore.kernel.org/netfilter-devel/aGwf3dCggwBlRKKC@strlen.de/
Signed-off-by: Florian Westphal <fw@strlen.de>
---
 net/netfilter/nf_tables_trace.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Pablo Neira Ayuso July 14, 2025, 1:52 p.m. UTC | #1
On Mon, Jul 07, 2025 at 10:32:44PM +0200, Florian Westphal wrote:
> Its a kernel implementation detail, at least at this time:
> 
> We can later decide to revert this patch if there is a compelling
> reason, but then we should also remove the ifdef that prevents exposure
> of ip_conntrack_status enum IPS_NAT_CLASH value in the uapi header.
> 
> Clash entries are not included in dumps (true for both old /proc
> and ctnetlink) either.  So for now exlude the clash bit when dumping.

Applied to nf.git, thanks
diff mbox series

Patch

diff --git a/net/netfilter/nf_tables_trace.c b/net/netfilter/nf_tables_trace.c
index ae3fe87195ab..a88abae5a9de 100644
--- a/net/netfilter/nf_tables_trace.c
+++ b/net/netfilter/nf_tables_trace.c
@@ -127,6 +127,9 @@  static int nf_trace_fill_ct_info(struct sk_buff *nlskb,
 		if (nla_put_be32(nlskb, NFTA_TRACE_CT_ID, (__force __be32)id))
 			return -1;
 
+		/* Kernel implementation detail, withhold this from userspace for now */
+		status &= ~IPS_NAT_CLASH;
+
 		if (status && nla_put_be32(nlskb, NFTA_TRACE_CT_STATUS, htonl(status)))
 			return -1;
 	}