mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-07-25 16:19:48 +02:00
be2net: Fix NULL pointer dereference in be_cmd_get_mac_from_list
[ Upstream commit8215794403] When the parameter pmac_id_valid argument of be_cmd_get_mac_from_list() is set to false, the driver may request the PMAC_ID from the firmware of the network card, and this function will store that PMAC_ID at the provided address pmac_id. This is the contract of this function. However, there is a location within the driver where both pmac_id_valid == false and pmac_id == NULL are being passed. This could result in dereferencing a NULL pointer. To resolve this issue, it is necessary to pass the address of a stub variable to the function. Fixes:95046b927a("be2net: refactor MAC-addr setup code") Signed-off-by: Andrey Vatoropin <a.vatoropin@crpt.ru> Link: https://patch.msgid.link/20260120113734.20193-1-a.vatoropin@crpt.ru Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
baafbbc23d
commit
e206fb415d
@@ -3797,6 +3797,7 @@ int be_cmd_get_perm_mac(struct be_adapter *adapter, u8 *mac)
|
||||
{
|
||||
int status;
|
||||
bool pmac_valid = false;
|
||||
u32 pmac_id;
|
||||
|
||||
eth_zero_addr(mac);
|
||||
|
||||
@@ -3809,7 +3810,7 @@ int be_cmd_get_perm_mac(struct be_adapter *adapter, u8 *mac)
|
||||
adapter->if_handle, 0);
|
||||
} else {
|
||||
status = be_cmd_get_mac_from_list(adapter, mac, &pmac_valid,
|
||||
NULL, adapter->if_handle, 0);
|
||||
&pmac_id, adapter->if_handle, 0);
|
||||
}
|
||||
|
||||
return status;
|
||||
|
||||
Reference in New Issue
Block a user