summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2024-11-29 10:45:42 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-01-02 10:34:17 +0100
commitfc98df1d7a9e58fd29590eebccb2d5013e2053ea (patch)
tree2b59f298ce982c4167937a9a4ee2a48f2f1fcda0
parent0a65d850c45dee422310a2ca9e888edacf0b0f90 (diff)
downloadlinux-fc98df1d7a9e58fd29590eebccb2d5013e2053ea.tar.gz
linux-fc98df1d7a9e58fd29590eebccb2d5013e2053ea.tar.bz2
linux-fc98df1d7a9e58fd29590eebccb2d5013e2053ea.zip
ALSA: ump: Don't open legacy substream for an inactive group
[ Upstream commit 3978d53df7236f0a517c2abeb43ddf6ac162cdd8 ] When a UMP Group is inactive, we shouldn't allow users to access it via the legacy MIDI access. Add the group active flag check and return -ENODEV if it's inactive. Link: https://patch.msgid.link/20241129094546.32119-2-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--sound/core/ump.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/core/ump.c b/sound/core/ump.c
index 8d37f237f83b..0ade67d6b089 100644
--- a/sound/core/ump.c
+++ b/sound/core/ump.c
@@ -1087,6 +1087,8 @@ static int snd_ump_legacy_open(struct snd_rawmidi_substream *substream)
guard(mutex)(&ump->open_mutex);
if (ump->legacy_substreams[dir][group])
return -EBUSY;
+ if (!ump->groups[group].active)
+ return -ENODEV;
if (dir == SNDRV_RAWMIDI_STREAM_OUTPUT) {
if (!ump->legacy_out_opens) {
err = snd_rawmidi_kernel_open(&ump->core, 0,