Commit 2fe47634 authored by Kalesh AP's avatar Kalesh AP Committed by baogen shang
Browse files

bnxt_en: Fix possible memory leak when hwrm_req_replace fails

stable inclusion
from stable-v6.6.72
commit 70163207b57b886a1bae46b96cac536da9ccf4f6
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBGQ3Q
CVE: NA
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=70163207b57b886a1bae46b96cac536da9ccf4f6



-------------------------

[ Upstream commit c8dafb0e4398dacc362832098a04b97da3b0395b ]

When hwrm_req_replace() fails, the driver is not invoking bnxt_req_drop()
which could cause a memory leak.

Fixes: bbf33d1d ("bnxt_en: update all firmware calls to use the new APIs")
Reviewed-by: default avatarPavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: default avatarKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20250104043849.3482067-2-michael.chan@broadcom.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarbaogen shang <baogen.shang@windriver.com>
parent 944ce05f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ int bnxt_send_msg(struct bnxt_en_dev *edev,

	rc = hwrm_req_replace(bp, req, fw_msg->msg, fw_msg->msg_len);
	if (rc)
		return rc;
		goto drop_req;

	hwrm_req_timeout(bp, req, fw_msg->timeout);
	resp = hwrm_req_hold(bp, req);
@@ -171,6 +171,7 @@ int bnxt_send_msg(struct bnxt_en_dev *edev,

		memcpy(fw_msg->resp, resp, resp_len);
	}
drop_req:
	hwrm_req_drop(bp, req);
	return rc;
}