]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
RDMA/mlx4: Avoid false error about access to uninitialized gids array
authorLeon Romanovsky <leonro@nvidia.com>
Tue, 3 Dec 2024 13:44:25 +0000 (15:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:50:03 +0000 (12:50 +0100)
[ Upstream commit 1f53d88cbb0dcc7df235bf6611ae632b254fccd8 ]

Smatch generates the following false error report:
drivers/infiniband/hw/mlx4/main.c:393 mlx4_ib_del_gid() error: uninitialized symbol 'gids'.

Traditionally, we are not changing kernel code and asking people to fix
the tools. However in this case, the fix can be done by simply rearranging
the code to be more clear.

Fixes: e26be1bfef81 ("IB/mlx4: Implement ib_device callbacks")
Link: https://patch.msgid.link/6a3a1577463da16962463fcf62883a87506e9b62.1733233426.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/hw/mlx4/main.c

index 53d83212cda818be0a1a1a28cac19b6e6807f1fd..67a1ef0260b24116e3f0b47aec266a09640cf50e 100644 (file)
@@ -392,10 +392,10 @@ static int mlx4_ib_del_gid(const struct ib_gid_attr *attr, void **context)
        }
        spin_unlock_bh(&iboe->lock);
 
-       if (!ret && hw_update) {
+       if (gids)
                ret = mlx4_ib_update_gids(gids, ibdev, attr->port_num);
-               kfree(gids);
-       }
+
+       kfree(gids);
        return ret;
 }