IB/mlx4: fix unitialised variable is_mcast
authorColin Ian King <colin.king@canonical.com>
Sat, 17 May 2014 22:33:44 +0000 (23:33 +0100)
committerRoland Dreier <roland@purestorage.com>
Wed, 28 May 2014 17:00:06 +0000 (10:00 -0700)
Commit 297e0dad7206 ("IB/mlx4: Handle Ethernet L2 parameters for IP
based GID addressing") introduced a bug where is_mcast is now no
longer initialized on the non-multicast condition and so it can be
any random value from the stack.  This issue was detected by cppcheck:

    [drivers/infiniband/hw/mlx4/ah.c:103]: (error) Uninitialized
      variable: is_mcast

Simple fix is to initialise is_mcast to zero.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/mlx4/ah.c

index 170dca6080423145a5cb31dd11be245de156bbcf..2d8c3397774f6ba84c207bd35a64a203f2916620 100644 (file)
@@ -73,7 +73,7 @@ static struct ib_ah *create_iboe_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr
 {
        struct mlx4_ib_dev *ibdev = to_mdev(pd->device);
        struct mlx4_dev *dev = ibdev->dev;
-       int is_mcast;
+       int is_mcast = 0;
        struct in6_addr in6;
        u16 vlan_tag;