* [PATCH] ALSA: pcmtest: Return -EFAULT on pattern read copy failure
@ 2026-05-01 17:45 Cássio Gabriel
2026-05-04 11:26 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Cássio Gabriel @ 2026-05-01 17:45 UTC (permalink / raw)
To: Takashi Iwai, Ivan Orlov, Jaroslav Kysela
Cc: linux-sound, linux-kernel, Cássio Gabriel
pattern_write() reports -EFAULT when copy_from_user() fails, but
pattern_read() converts copy_to_user() failures into a zero-length read.
That makes a userspace buffer fault look like EOF instead of reporting the
actual error.
Return -EFAULT from pattern_read() when copying the pattern data to
userspace fails, and update the file offset only after a successful copy.
Fixes: 315a3d57c64c ("ALSA: Implement the new Virtual PCM Test Driver")
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
---
sound/drivers/pcmtest.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/drivers/pcmtest.c b/sound/drivers/pcmtest.c
index 5bfec4c7bf71..7f93557b51ec 100644
--- a/sound/drivers/pcmtest.c
+++ b/sound/drivers/pcmtest.c
@@ -679,9 +679,9 @@ static ssize_t pattern_read(struct file *file, char __user *u_buff, size_t len,
return 0;
if (copy_to_user(u_buff, patt_buf->buf + *off, to_read))
- to_read = 0;
- else
- *off += to_read;
+ return -EFAULT;
+
+ *off += to_read;
return to_read;
}
---
base-commit: 9e8d6ddd7ecf2ad42d614243f86e50fcf0183b9e
change-id: 20260501-alsa-pcmtest-pattern-read-efault-8b9f131ae7fd
Best regards,
--
Cássio Gabriel <cassiogabrielcontato@gmail.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] ALSA: pcmtest: Return -EFAULT on pattern read copy failure
2026-05-01 17:45 [PATCH] ALSA: pcmtest: Return -EFAULT on pattern read copy failure Cássio Gabriel
@ 2026-05-04 11:26 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2026-05-04 11:26 UTC (permalink / raw)
To: Cássio Gabriel
Cc: Takashi Iwai, Ivan Orlov, Jaroslav Kysela, linux-sound,
linux-kernel
On Fri, 01 May 2026 19:45:14 +0200,
Cássio Gabriel wrote:
>
> pattern_write() reports -EFAULT when copy_from_user() fails, but
> pattern_read() converts copy_to_user() failures into a zero-length read.
> That makes a userspace buffer fault look like EOF instead of reporting the
> actual error.
>
> Return -EFAULT from pattern_read() when copying the pattern data to
> userspace fails, and update the file offset only after a successful copy.
>
> Fixes: 315a3d57c64c ("ALSA: Implement the new Virtual PCM Test Driver")
> Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Applied now. Thanks.
Takashi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-04 11:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-01 17:45 [PATCH] ALSA: pcmtest: Return -EFAULT on pattern read copy failure Cássio Gabriel
2026-05-04 11:26 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox