diff options
| author | Takashi Iwai <tiwai@suse.de> | 2024-11-29 10:45:42 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-01-02 10:34:17 +0100 |
| commit | fc98df1d7a9e58fd29590eebccb2d5013e2053ea (patch) | |
| tree | 2b59f298ce982c4167937a9a4ee2a48f2f1fcda0 | |
| parent | 0a65d850c45dee422310a2ca9e888edacf0b0f90 (diff) | |
| download | linux-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.c | 2 |
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, |
