Netdev List
 help / color / mirror / Atom feed
* [PATCH bpf-next] bpf: clear the ip_tunnel_info.
@ 2018-04-25  6:46 William Tu
  2018-04-25  7:54 ` Daniel Borkmann
  0 siblings, 1 reply; 3+ messages in thread
From: William Tu @ 2018-04-25  6:46 UTC (permalink / raw)
  To: netdev

The percpu metadata_dst might carry the stale ip_tunnel_info
and cause incorrect behavior.  When mixing tests using ipv4/ipv6
bpf vxlan and geneve tunnel, the ipv6 tunnel info incorrectly uses
ipv4's src ip addr as its ipv6 src address, because the previous
tunnel info does not clean up.  The patch zeros the fields in
ip_tunnel_info.

Signed-off-by: William Tu <u9012063@gmail.com>
Reported-by: Yifeng Sun <pkusunyifeng@gmail.com>
---
 net/core/filter.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/core/filter.c b/net/core/filter.c
index 8e45c6c7ab08..d3781daa26ab 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -3281,6 +3281,7 @@ BPF_CALL_4(bpf_skb_set_tunnel_key, struct sk_buff *, skb,
 	skb_dst_set(skb, (struct dst_entry *) md);
 
 	info = &md->u.tun_info;
+	memset(info, 0, sizeof(*info));
 	info->mode = IP_TUNNEL_INFO_TX;
 
 	info->key.tun_flags = TUNNEL_KEY | TUNNEL_CSUM | TUNNEL_NOCACHE;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-04-25 20:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-25  6:46 [PATCH bpf-next] bpf: clear the ip_tunnel_info William Tu
2018-04-25  7:54 ` Daniel Borkmann
2018-04-25 20:01   ` William Tu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox