Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f42126b authored by Abdun Nihaal's avatar Abdun Nihaal Committed by Greg Kroah-Hartman
Browse files

qlcnic: fix memory leak in qlcnic_sriov_channel_cfg_cmd()



[ Upstream commit 9d8a99c5a7c7f4f7eca2c168a4ec254409670035 ]

In one of the error paths in qlcnic_sriov_channel_cfg_cmd(), the memory
allocated in qlcnic_sriov_alloc_bc_mbx_args() for mailbox arguments is
not freed. Fix that by jumping to the error path that frees them, by
calling qlcnic_free_mbx_args(). This was found using static analysis.

Fixes: f197a7aa ("qlcnic: VF-PF communication channel implementation")
Signed-off-by: default avatarAbdun Nihaal <abdun.nihaal@gmail.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250512044829.36400-1-abdun.nihaal@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 8887470a
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1486,8 +1486,11 @@ static int qlcnic_sriov_channel_cfg_cmd(struct qlcnic_adapter *adapter, u8 cmd_o
	}

	cmd_op = (cmd.rsp.arg[0] & 0xff);
	if (cmd.rsp.arg[0] >> 25 == 2)
		return 2;
	if (cmd.rsp.arg[0] >> 25 == 2) {
		ret = 2;
		goto out;
	}

	if (cmd_op == QLCNIC_BC_CMD_CHANNEL_INIT)
		set_bit(QLC_BC_VF_STATE, &vf->state);
	else