lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87ed3p95q8.fsf@toke.dk>
Date: Tue, 05 Nov 2024 14:21:03 +0100
From: Toke Høiland-Jørgensen <toke@...e.dk>
To: Rosen Penev <rosenp@...il.com>, linux-wireless@...r.kernel.org
Cc: kvalo@...nel.org, nbd@....name, yangshiji66@...look.com,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCHv2] wifi: ath9k: return by of_get_mac_address

Rosen Penev <rosenp@...il.com> writes:

> When using nvmem, ath9k could potentially be loaded before nvmem, which
> loads after mtd. This is an issue if DT contains an nvmem mac address.
>
> If nvmem is not ready in time for ath9k, -EPROBE_DEFER is returned. Pass
> it to _probe so that ath9k can properly grab a potentially present MAC
> address.
>
> Signed-off-by: Rosen Penev <rosenp@...il.com>
> ---
>  v2: modified commit message
>  drivers/net/wireless/ath/ath9k/init.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
> index f712bb6d1f47..5f4efc760183 100644
> --- a/drivers/net/wireless/ath/ath9k/init.c
> +++ b/drivers/net/wireless/ath/ath9k/init.c
> @@ -647,9 +647,7 @@ static int ath9k_of_init(struct ath_softc *sc)
>  		ah->ah_flags |= AH_NO_EEP_SWAP;
>  	}
>  
> -	of_get_mac_address(np, common->macaddr);
> -
> -	return 0;
> +	return of_get_mac_address(np, common->macaddr);

Hmm, so AFAICT, of_get_mac_address() can fail with lots of other error
codes than EPROBE_DEFER, no? And with this change, if it does, we now
abort the ath9k device init, where before we just ignored any errors.

So, to be conservative, maybe it's better to do something like:

ret = of_get_mac_address(np, common->macaddr);
if (ret == -EPROBE_DEFER)
   return ret;

return 0;


WDYT?

-Toke

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ