Commit 0c3f2e62 authored by Alexey Simakov's avatar Alexey Simakov Committed by Jakub Kicinski
Browse files

tg3: prevent use of uninitialized remote_adv and local_adv variables



Some execution paths that jump to the fiber_setup_done label
could leave the remote_adv and local_adv variables uninitialized
and then use it.

Initialize this variables at the point of definition to avoid this.

Fixes: 85730a63 ("tg3: Add SGMII phy support for 5719/5718 serdes")
Co-developed-by: default avatarAlexandr Sapozhnikov <alsp705@gmail.com>
Signed-off-by: default avatarAlexandr Sapozhnikov <alsp705@gmail.com>
Signed-off-by: default avatarAlexey Simakov <bigalex934@gmail.com>
Reviewed-by: default avatarPavan Chebbi <pavan.chebbi@broadcom.com>
Link: https://patch.msgid.link/20251014164736.5890-1-bigalex934@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent bc384963
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -5803,7 +5803,7 @@ static int tg3_setup_fiber_mii_phy(struct tg3 *tp, bool force_reset)
	u32 current_speed = SPEED_UNKNOWN;
	u8 current_duplex = DUPLEX_UNKNOWN;
	bool current_link_up = false;
	u32 local_adv, remote_adv, sgsr;
	u32 local_adv = 0, remote_adv = 0, sgsr;

	if ((tg3_asic_rev(tp) == ASIC_REV_5719 ||
	     tg3_asic_rev(tp) == ASIC_REV_5720) &&
@@ -5944,9 +5944,6 @@ static int tg3_setup_fiber_mii_phy(struct tg3 *tp, bool force_reset)
		else
			current_duplex = DUPLEX_HALF;

		local_adv = 0;
		remote_adv = 0;

		if (bmcr & BMCR_ANENABLE) {
			u32 common;