ALSA: seq: Check UMP support for midi_version change
commit8765429279upstream. 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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
199f045287
commit
396964d45c
@@ -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