sound/core/rawmidi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The snd_rawmidi_input_params() computes err for the three invalid mode
combinations and for resize_runtime_buffer(), applies the new framing
and clock type only when err is zero, and then returns 0 anyway. A
caller that asked for parameters the kernel rejected is told the change
succeeded, and the substream keeps its old buffer.
The open_mutex conversion turned the early returns into assignments.
It handled the output sibling correctly, which still returns err, and
left this one behind.
Fixes: 94b98194b62e ("ALSA: rawmidi: Take open_mutex around parameter changes")
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-5
Signed-off-by: HyeongJun An <sammiee5311@gmail.com>
---
Reproduced on 6.17.0-35-generic with snd-virmidi:
INPUT buffer_size=0 -> ret 0, errno 0
INPUT avail_min=0 -> ret 0, errno 0
OUTPUT buffer_size=0 -> ret -1, EINVAL
The same rejected parameters report success on the input stream and
failure on the output stream.
sound/core/rawmidi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c
index bf504e27f73e..f9cef3c61861 100644
--- a/sound/core/rawmidi.c
+++ b/sound/core/rawmidi.c
@@ -782,7 +782,7 @@ int snd_rawmidi_input_params(struct snd_rawmidi_substream *substream,
substream->framing = framing;
substream->clock_type = clock_type;
}
- return 0;
+ return err;
}
EXPORT_SYMBOL(snd_rawmidi_input_params);
--
2.43.0
On Wed, 02 Sep 2026 14:50:58 +0200,
HyeongJun An wrote:
>
> The snd_rawmidi_input_params() computes err for the three invalid mode
> combinations and for resize_runtime_buffer(), applies the new framing
> and clock type only when err is zero, and then returns 0 anyway. A
> caller that asked for parameters the kernel rejected is told the change
> succeeded, and the substream keeps its old buffer.
>
> The open_mutex conversion turned the early returns into assignments.
> It handled the output sibling correctly, which still returns err, and
> left this one behind.
>
> Fixes: 94b98194b62e ("ALSA: rawmidi: Take open_mutex around parameter changes")
> Cc: stable@vger.kernel.org
> Assisted-by: Claude:claude-opus-5
> Signed-off-by: HyeongJun An <sammiee5311@gmail.com>
Applied now. Thanks.
Takashi
© 2016 - 2026 Red Hat, Inc.