ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report
authorPawel Harlozinski <pawel.harlozinski@linux.intel.com>
Tue, 12 Nov 2019 13:02:36 +0000 (14:02 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Dec 2019 09:42:01 +0000 (10:42 +0100)
commit 8f157d4ff039e03e2ed4cb602eeed2fd4687a58f upstream.

Check for existance of jack before tracing.
NULL pointer dereference has been reported by KASAN while unloading
machine driver (snd_soc_cnl_rt274).

Signed-off-by: Pawel Harlozinski <pawel.harlozinski@linux.intel.com>
Link: https://lore.kernel.org/r/20191112130237.10141-1-pawel.harlozinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/soc-jack.c

index fbaa1bb41102f45920f478008070ee53cdbbb6b4..00d7902ad427ae35c2a3502e3c43d7ae839a4a18 100644 (file)
@@ -80,10 +80,9 @@ void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask)
        unsigned int sync = 0;
        int enable;
 
-       trace_snd_soc_jack_report(jack, mask, status);
-
        if (!jack)
                return;
+       trace_snd_soc_jack_report(jack, mask, status);
 
        dapm = &jack->card->dapm;