[PATCH v6 03/13] sound: Fix snd_pcm_readv()/writev() to use iov access functions

From: David Howells
Date: Fri Sep 22 2023 - 08:03:40 EST


Fix snd_pcm_readv()/writev() to use iov access functions rather than poking
at the iov_iter internals directly.

Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Reviewed-by: Jaroslav Kysela <perex@xxxxxxxx>
Reviewed-by: Takashi Iwai <tiwai@xxxxxxx>
cc: Oswald Buddenhagen <oswald.buddenhagen@xxxxxx>
cc: Jens Axboe <axboe@xxxxxxxxx>
cc: Suren Baghdasaryan <surenb@xxxxxxxxxx>
cc: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
cc: alsa-devel@xxxxxxxxxxxxxxxx
---
sound/core/pcm_native.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
index bd9ddf412b46..9a69236fa207 100644
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -3527,7 +3527,7 @@ static ssize_t snd_pcm_readv(struct kiocb *iocb, struct iov_iter *to)
if (runtime->state == SNDRV_PCM_STATE_OPEN ||
runtime->state == SNDRV_PCM_STATE_DISCONNECTED)
return -EBADFD;
- if (!to->user_backed)
+ if (!user_backed_iter(to))
return -EINVAL;
if (to->nr_segs > 1024 || to->nr_segs != runtime->channels)
return -EINVAL;
@@ -3567,7 +3567,7 @@ static ssize_t snd_pcm_writev(struct kiocb *iocb, struct iov_iter *from)
if (runtime->state == SNDRV_PCM_STATE_OPEN ||
runtime->state == SNDRV_PCM_STATE_DISCONNECTED)
return -EBADFD;
- if (!from->user_backed)
+ if (!user_backed_iter(from))
return -EINVAL;
if (from->nr_segs > 128 || from->nr_segs != runtime->channels ||
!frame_aligned(runtime, iov->iov_len))