summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Benc <jbenc@redhat.com>2016-04-22 13:09:13 +0200
committerDavid S. Miller <davem@davemloft.net>2016-04-25 22:20:49 +0200
commit3d6d30d60abb19ba9a20e53ce65b18a9c148fcd1 (patch)
tree3c7e9eddf1057238d4d271574a3e5d784d314b37
parentipv6: Revert optional address flusing on ifdown. (diff)
downloadlinux-3d6d30d60abb19ba9a20e53ce65b18a9c148fcd1.tar.xz
linux-3d6d30d60abb19ba9a20e53ce65b18a9c148fcd1.zip
cxgbi: fix uninitialized flowi6
ip6_route_output looks into different fields in the passed flowi6 structure, yet cxgbi passes garbage in nearly all those fields. Zero the structure out first. Fixes: fc8d0590d9142 ("libcxgbi: Add ipv6 api to driver") Signed-off-by: Jiri Benc <jbenc@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/scsi/cxgbi/libcxgbi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c
index f3bb7af4e984..ead83a24bcd1 100644
--- a/drivers/scsi/cxgbi/libcxgbi.c
+++ b/drivers/scsi/cxgbi/libcxgbi.c
@@ -688,6 +688,7 @@ static struct rt6_info *find_route_ipv6(const struct in6_addr *saddr,
{
struct flowi6 fl;
+ memset(&fl, 0, sizeof(fl));
if (saddr)
memcpy(&fl.saddr, saddr, sizeof(struct in6_addr));
if (daddr)