ALSA: seq: Check UMP support for midi_version change
BugLink: https://bugs.launchpad.net/bugs/2106632
commit 8765429279e7d3d68d39ace5f84af2815174bb1e upstream.
When the kernel is built without UMP support but a user-space app
requires the midi_version > 0, the kernel should return an error.
Otherwise user-space assumes as if it were possible to deal,
eventually hitting serious errors later.
Fixes: 46397622a3 ("ALSA: seq: Add UMP support")
Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20241231145358.21946-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Manuel Diewald <manuel.diewald@canonical.com>
Signed-off-by: Mehmet Basaran <mehmet.basaran@canonical.com>
This commit is contained in:
committed by
Mehmet Basaran
parent
11b47564ba
commit
4a3be13fa5
@@ -1280,10 +1280,16 @@ static int snd_seq_ioctl_set_client_info(struct snd_seq_client *client,
|
||||
if (client->type != client_info->type)
|
||||
return -EINVAL;
|
||||
|
||||
/* check validity of midi_version field */
|
||||
if (client->user_pversion >= SNDRV_PROTOCOL_VERSION(1, 0, 3) &&
|
||||
client_info->midi_version > SNDRV_SEQ_CLIENT_UMP_MIDI_2_0)
|
||||
return -EINVAL;
|
||||
if (client->user_pversion >= SNDRV_PROTOCOL_VERSION(1, 0, 3)) {
|
||||
/* check validity of midi_version field */
|
||||
if (client_info->midi_version > SNDRV_SEQ_CLIENT_UMP_MIDI_2_0)
|
||||
return -EINVAL;
|
||||
|
||||
/* check if UMP is supported in kernel */
|
||||
if (!IS_ENABLED(CONFIG_SND_SEQ_UMP) &&
|
||||
client_info->midi_version > 0)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* fill the info fields */
|
||||
if (client_info->name[0])
|
||||
|
||||
Reference in New Issue
Block a user