[net] ipv6: sr: properly initialize flowi6 prior passing to ip6_route_output

Message ID 20181207075017.10787-1-shmulik.ladkani@gmail.com
State Accepted
Delegated to: David Miller
Headers show
Series
  • [net] ipv6: sr: properly initialize flowi6 prior passing to ip6_route_output
Related show

Commit Message

Shmulik Ladkani Dec. 7, 2018, 7:50 a.m.
In 'seg6_output', stack variable 'struct flowi6 fl6' was missing
initialization.

Fixes: 6c8702c60b88 ("ipv6: sr: add support for SRH encapsulation and injection with lwtunnels")
Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>

---
Suggeting this fix, spotted during code review while experimenting
with SRv6, although havn't encountered a specific issue during
experiments.

Was there any genuine intention to actually keep 'fl6' uninitialized?
---

 net/ipv6/seg6_iptunnel.c | 1 +
 1 file changed, 1 insertion(+)

Comments

David Miller Dec. 7, 2018, 8:23 p.m. | #1
From: Shmulik Ladkani <shmulik@metanetworks.com>
Date: Fri,  7 Dec 2018 09:50:17 +0200

> In 'seg6_output', stack variable 'struct flowi6 fl6' was missing
> initialization.
> 
> Fixes: 6c8702c60b88 ("ipv6: sr: add support for SRH encapsulation and injection with lwtunnels")
> Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>

Applied and queued up for -stable, thanks.

Patch

diff --git a/net/ipv6/seg6_iptunnel.c b/net/ipv6/seg6_iptunnel.c
index a8854dd3e9c5..8181ee7e1e27 100644
--- a/net/ipv6/seg6_iptunnel.c
+++ b/net/ipv6/seg6_iptunnel.c
@@ -347,6 +347,7 @@  static int seg6_output(struct net *net, struct sock *sk, struct sk_buff *skb)
 		struct ipv6hdr *hdr = ipv6_hdr(skb);
 		struct flowi6 fl6;
 
+		memset(&fl6, 0, sizeof(fl6));
 		fl6.daddr = hdr->daddr;
 		fl6.saddr = hdr->saddr;
 		fl6.flowlabel = ip6_flowinfo(hdr);