vxlan: fix possible use of uninitialized in vxlan_igmp_{join, leave}
authorMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Fri, 20 Mar 2015 13:26:21 +0000 (10:26 -0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Mar 2015 17:31:24 +0000 (13:31 -0400)
Test robot noticed that we check the return of vxlan_igmp_join and leave
but inside them there was a path that it could be used initialized.

It's not really possible because those if() inside these igmp functions
would always match as we can't have sockets of other type in there, but
this way we keep the compiler happy.

Fixes: 56ef9c909b40 ("vxlan: Move socket initialization to within rtnl scope")
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c

index 5f749a51f35624c3375ea536270faaf56c955e16..e75e4b2e6031578918e578a652a0ad6c578bade4 100644 (file)
@@ -1093,7 +1093,7 @@ static int vxlan_igmp_join(struct vxlan_dev *vxlan)
        struct sock *sk = vs->sock->sk;
        union vxlan_addr *ip = &vxlan->default_dst.remote_ip;
        int ifindex = vxlan->default_dst.remote_ifindex;
-       int ret;
+       int ret = -EINVAL;
 
        lock_sock(sk);
        if (ip->sa.sa_family == AF_INET) {
@@ -1121,7 +1121,7 @@ static int vxlan_igmp_leave(struct vxlan_dev *vxlan)
        struct sock *sk = vs->sock->sk;
        union vxlan_addr *ip = &vxlan->default_dst.remote_ip;
        int ifindex = vxlan->default_dst.remote_ifindex;
-       int ret;
+       int ret = -EINVAL;
 
        lock_sock(sk);
        if (ip->sa.sa_family == AF_INET) {