summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>2022-04-12 11:16:28 +0200
committerTakashi Iwai <tiwai@suse.de>2022-04-12 12:19:05 +0200
commit1b6a6fc5280e97559287b61eade2d4b363e836f2 (patch)
tree3654c5b0592641ee7e1dc78b9c71be650dc08d95 /include/sound
parentALSA: hda/tegra: Enable Jack poll for tegra (diff)
downloadlinux-1b6a6fc5280e97559287b61eade2d4b363e836f2.tar.xz
linux-1b6a6fc5280e97559287b61eade2d4b363e836f2.zip
ALSA: jack: Access input_dev under mutex
It is possible when using ASoC that input_dev is unregistered while calling snd_jack_report, which causes NULL pointer dereference. In order to prevent this serialize access to input_dev using mutex lock. Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20220412091628.3056922-1-amadeuszx.slawinski@linux.intel.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/jack.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sound/jack.h b/include/sound/jack.h
index 1181f536557e..1ed90e2109e9 100644
--- a/include/sound/jack.h
+++ b/include/sound/jack.h
@@ -62,6 +62,7 @@ struct snd_jack {
const char *id;
#ifdef CONFIG_SND_JACK_INPUT_DEV
struct input_dev *input_dev;
+ struct mutex input_dev_lock;
int registered;
int type;
char name[100];