ASoC: Intel: Skylake: fix uninitialized pointer use
diff mbox

Message ID 20170427110014.2316664-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann April 27, 2017, 10:59 a.m. UTC
The error handling in bxt_sst_dsp_init() got changed in a way that
it now derefences an uninitialized pointer when printing a warning
about the device not being found:

sound/soc/intel/skylake/bxt-sst.c: In function 'bxt_sst_dsp_init':
sound/soc/intel/skylake/bxt-sst.c:567:14: error: 'skl' may be used uninitialized in this function [-Werror=maybe-uninitialized]

As we do have a valid device pointer available at the call site,
let's use that instead.

Fixes: 9fe9c7119283 ("ASoC: Intel: Skylake: Move sst common initialization to a helper function")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/soc/intel/skylake/bxt-sst.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Takashi Sakamoto April 27, 2017, 11:13 a.m. UTC | #1
On Apr 27 2017 19:59, Arnd Bergmann wrote:
> The error handling in bxt_sst_dsp_init() got changed in a way that
> it now derefences an uninitialized pointer when printing a warning
> about the device not being found:
>
> sound/soc/intel/skylake/bxt-sst.c: In function 'bxt_sst_dsp_init':
> sound/soc/intel/skylake/bxt-sst.c:567:14: error: 'skl' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> As we do have a valid device pointer available at the call site,
> let's use that instead.
>
> Fixes: 9fe9c7119283 ("ASoC: Intel: Skylake: Move sst common initialization to a helper function")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  sound/soc/intel/skylake/bxt-sst.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>

> diff --git a/sound/soc/intel/skylake/bxt-sst.c b/sound/soc/intel/skylake/bxt-sst.c
> index fde4bc0f35b0..f5e7dbb1ba39 100644
> --- a/sound/soc/intel/skylake/bxt-sst.c
> +++ b/sound/soc/intel/skylake/bxt-sst.c
> @@ -564,7 +564,7 @@ int bxt_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
>
>  	ret = skl_sst_ctx_init(dev, irq, fw_name, dsp_ops, dsp, &skl_dev);
>  	if (ret < 0) {
> -		dev_err(skl->dev, "%s: no device\n", __func__);
> +		dev_err(dev, "%s: no device\n", __func__);
>  		return ret;
>  	}

Regards

Takashi Sakamoto
Vinod Koul April 27, 2017, 2:28 p.m. UTC | #2
On Thu, Apr 27, 2017 at 12:59:58PM +0200, Arnd Bergmann wrote:
> The error handling in bxt_sst_dsp_init() got changed in a way that
> it now derefences an uninitialized pointer when printing a warning
> about the device not being found:
> 
> sound/soc/intel/skylake/bxt-sst.c: In function 'bxt_sst_dsp_init':
> sound/soc/intel/skylake/bxt-sst.c:567:14: error: 'skl' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> 
> As we do have a valid device pointer available at the call site,
> let's use that instead.

Thanks Arnd for this fix, but this was also reported by SFR earlier today
and have pasoted same patch via
http://mailman.alsa-project.org/pipermail/alsa-devel/2017-April/120214.html

Patches are same, so Mark can take either :)

Patch
diff mbox

diff --git a/sound/soc/intel/skylake/bxt-sst.c b/sound/soc/intel/skylake/bxt-sst.c
index fde4bc0f35b0..f5e7dbb1ba39 100644
--- a/sound/soc/intel/skylake/bxt-sst.c
+++ b/sound/soc/intel/skylake/bxt-sst.c
@@ -564,7 +564,7 @@  int bxt_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
 
 	ret = skl_sst_ctx_init(dev, irq, fw_name, dsp_ops, dsp, &skl_dev);
 	if (ret < 0) {
-		dev_err(skl->dev, "%s: no device\n", __func__);
+		dev_err(dev, "%s: no device\n", __func__);
 		return ret;
 	}