[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZzSoeF7dnWDw6rqj@finisterre.sirena.org.uk>
Date: Wed, 13 Nov 2024 13:24:08 +0000
From: Mark Brown <broonie@...nel.org>
To: Arnd Bergmann <arnd@...nel.org>
Cc: Kiseok Jo <kiseok.jo@...ndevice.com>,
Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
Arnd Bergmann <arnd@...db.de>,
Tang Bin <tangbin@...s.chinamobile.com>,
linux-sound@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ASoC: sma1307: fix uninitialized variable refence
On Wed, Nov 13, 2024 at 12:56:50PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@...db.de>
>
> When firmware loading is disabled, gcc warns that the local
> 'fw' variable fails to get initialized:
>
> sound/soc/codecs/sma1307.c: In function 'sma1307_setting_loaded.isra':
> sound/soc/codecs/sma1307.c:1717:12: error: 'fw' is used uninitialized [-Werror=uninitialized]
> 1717 | if (!fw) {
> | ^
> sound/soc/codecs/sma1307.c:1712:32: note: 'fw' was declared here
> 1712 | const struct firmware *fw;
>
> Initialize this to NULL as that is what it gets checked for in
> case of error.
This is just shutting the warning up - looking at the stub the real
issue is that there's a return value from request_firmware() which isn't
being checked, we're checking for the initialisation of fw instead.
There is one path in the actual implementation that returns an error
code without setting fw, though most do. Either this caller should be
updated to check the return code or if checking fw alone is valid (which
TBH does look like the intent) the stub should be updated to set it.
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists