OSDN Git Service

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>
Tue, 17 Dec 2019 19:34:55 +0000 (20:34 +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 c7b990a..2a528e7 100644 (file)
@@ -100,10 +100,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;