sound: Fix snd_pcm_readv()/writev() to use iov access functions
authorDavid Howells <dhowells@redhat.com>
Mon, 25 Sep 2023 12:03:00 +0000 (13:03 +0100)
committerChristian Brauner <brauner@kernel.org>
Mon, 25 Sep 2023 12:30:27 +0000 (14:30 +0200)
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@redhat.com>
Link: https://lore.kernel.org/r/20230925120309.1731676-4-dhowells@redhat.com
Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
cc: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
cc: Jens Axboe <axboe@kernel.dk>
cc: Suren Baghdasaryan <surenb@google.com>
cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
cc: alsa-devel@alsa-project.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
sound/core/pcm_native.c

index bd9ddf412b4655157e515542547b3deef9a9d692..9a69236fa2075c9b4174bfcab027edfa3f1707e7 100644 (file)
@@ -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))