Explorar el Código

netfilter: reset nf_trace in nf_reset

We forgot to clear the nf_trace of sk_buff in nf_reset,
When we use veth device, this nf_trace information will
be leaked from one net namespace to another net namespace.

Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Gao feng hace 12 años
padre
commit
130549fed8
Se han modificado 1 ficheros con 3 adiciones y 0 borrados
  1. 3 0
      include/linux/skbuff.h

+ 3 - 0
include/linux/skbuff.h

@@ -2641,6 +2641,9 @@ static inline void nf_reset(struct sk_buff *skb)
 	nf_bridge_put(skb->nf_bridge);
 	nf_bridge_put(skb->nf_bridge);
 	skb->nf_bridge = NULL;
 	skb->nf_bridge = NULL;
 #endif
 #endif
+#if IS_ENABLED(CONFIG_NETFILTER_XT_TARGET_TRACE)
+	skb->nf_trace = 0;
+#endif
 }
 }
 
 
 /* Note: This doesn't put any conntrack and bridge info in dst. */
 /* Note: This doesn't put any conntrack and bridge info in dst. */