]> Git Repo - linux.git/commitdiff
use less confusing names for iov_iter direction initializers
authorAl Viro <[email protected]>
Fri, 16 Sep 2022 00:25:47 +0000 (20:25 -0400)
committerAl Viro <[email protected]>
Fri, 25 Nov 2022 18:01:55 +0000 (13:01 -0500)
READ/WRITE proved to be actively confusing - the meanings are
"data destination, as used with read(2)" and "data source, as
used with write(2)", but people keep interpreting those as
"we read data from it" and "we write data to it", i.e. exactly
the wrong way.

Call them ITER_DEST and ITER_SOURCE - at least that is harder
to misinterpret...

Signed-off-by: Al Viro <[email protected]>
87 files changed:
arch/s390/kernel/crash_dump.c
arch/s390/mm/maccess.c
arch/x86/kernel/cpu/microcode/intel.c
arch/x86/kernel/crash_dump_64.c
crypto/testmgr.c
drivers/acpi/pfr_update.c
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_receiver.c
drivers/block/loop.c
drivers/block/nbd.c
drivers/char/random.c
drivers/fsi/fsi-sbefifo.c
drivers/infiniband/ulp/rtrs/rtrs-clt.c
drivers/isdn/mISDN/l1oip_core.c
drivers/misc/vmw_vmci/vmci_queue_pair.c
drivers/net/ppp/ppp_generic.c
drivers/nvme/host/tcp.c
drivers/nvme/target/io-cmd-file.c
drivers/nvme/target/tcp.c
drivers/s390/char/zcore.c
drivers/scsi/sg.c
drivers/target/iscsi/iscsi_target_util.c
drivers/target/target_core_file.c
drivers/usb/usbip/usbip_common.c
drivers/vhost/net.c
drivers/vhost/scsi.c
drivers/vhost/vhost.c
drivers/vhost/vringh.c
drivers/vhost/vsock.c
drivers/xen/pvcalls-back.c
fs/9p/vfs_addr.c
fs/9p/vfs_dir.c
fs/9p/xattr.c
fs/afs/cmservice.c
fs/afs/dir.c
fs/afs/file.c
fs/afs/internal.h
fs/afs/rxrpc.c
fs/afs/write.c
fs/aio.c
fs/btrfs/ioctl.c
fs/ceph/addr.c
fs/ceph/file.c
fs/cifs/connect.c
fs/cifs/file.c
fs/cifs/fscache.c
fs/cifs/smb2ops.c
fs/cifs/transport.c
fs/coredump.c
fs/erofs/fscache.c
fs/fscache/io.c
fs/fuse/ioctl.c
fs/netfs/io.c
fs/nfs/fscache.c
fs/nfsd/vfs.c
fs/ocfs2/cluster/tcp.c
fs/orangefs/inode.c
fs/proc/vmcore.c
fs/read_write.c
fs/seq_file.c
fs/splice.c
include/linux/uio.h
io_uring/net.c
io_uring/rw.c
kernel/trace/trace_events_user.c
mm/madvise.c
mm/page_io.c
mm/process_vm_access.c
net/9p/client.c
net/bluetooth/6lowpan.c
net/bluetooth/a2mp.c
net/bluetooth/smp.c
net/ceph/messenger_v1.c
net/ceph/messenger_v2.c
net/compat.c
net/ipv4/tcp.c
net/netfilter/ipvs/ip_vs_sync.c
net/smc/smc_clc.c
net/smc/smc_tx.c
net/socket.c
net/sunrpc/socklib.c
net/sunrpc/svcsock.c
net/sunrpc/xprtsock.c
net/tipc/topsrv.c
net/tls/tls_device.c
net/xfrm/espintcp.c
security/keys/keyctl.c

index 7ad7f20320b90b317c23478bc31558d67c2d38be..f3c3cf316f652f579c9a12d305dfe2707e648b5a 100644 (file)
@@ -153,7 +153,7 @@ int copy_oldmem_kernel(void *dst, unsigned long src, size_t count)
 
        kvec.iov_base = dst;
        kvec.iov_len = count;
-       iov_iter_kvec(&iter, READ, &kvec, 1, count);
+       iov_iter_kvec(&iter, ITER_DEST, &kvec, 1, count);
        if (copy_oldmem_iter(&iter, src, count) < count)
                return -EFAULT;
        return 0;
index 753b006c8ea54a144ac1b4bb95f01d00092ba26c..4824d1cd33d8755f4eddaf1e64a6f8bf011455d9 100644 (file)
@@ -128,7 +128,7 @@ int memcpy_real(void *dest, unsigned long src, size_t count)
 
        kvec.iov_base = dest;
        kvec.iov_len = count;
-       iov_iter_kvec(&iter, READ, &kvec, 1, count);
+       iov_iter_kvec(&iter, ITER_DEST, &kvec, 1, count);
        if (memcpy_real_iter(&iter, src, count) < count)
                return -EFAULT;
        return 0;
index 1fcbd671f1dffc515672ccd2c57d5fdbf5d42436..fdd2c4a754ceea26d44b488c13aaaa3567f452ce 100644 (file)
@@ -908,7 +908,7 @@ static enum ucode_state request_microcode_fw(int cpu, struct device *device,
 
        kvec.iov_base = (void *)firmware->data;
        kvec.iov_len = firmware->size;
-       iov_iter_kvec(&iter, WRITE, &kvec, 1, firmware->size);
+       iov_iter_kvec(&iter, ITER_SOURCE, &kvec, 1, firmware->size);
        ret = generic_load_microcode(cpu, &iter);
 
        release_firmware(firmware);
index e75bc2f217ffec1827bea1fa62fb6e9296f32adf..32d710f7eb84ce0b67d46be35be38bf8d02c78fe 100644 (file)
@@ -57,7 +57,7 @@ ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos)
        struct kvec kvec = { .iov_base = buf, .iov_len = count };
        struct iov_iter iter;
 
-       iov_iter_kvec(&iter, READ, &kvec, 1, count);
+       iov_iter_kvec(&iter, ITER_DEST, &kvec, 1, count);
 
        return read_from_oldmem(&iter, count, ppos,
                                cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT));
index bcd059caa1c81321ee08b45a939b855f9dff2f98..814d2dc87d7e862e647a5200982ea8b6772e6035 100644 (file)
@@ -766,7 +766,7 @@ static int build_cipher_test_sglists(struct cipher_test_sglists *tsgls,
        struct iov_iter input;
        int err;
 
-       iov_iter_kvec(&input, WRITE, inputs, nr_inputs, src_total_len);
+       iov_iter_kvec(&input, ITER_SOURCE, inputs, nr_inputs, src_total_len);
        err = build_test_sglist(&tsgls->src, cfg->src_divs, alignmask,
                                cfg->inplace_mode != OUT_OF_PLACE ?
                                        max(dst_total_len, src_total_len) :
@@ -1180,7 +1180,7 @@ static int build_hash_sglist(struct test_sglist *tsgl,
 
        kv.iov_base = (void *)vec->plaintext;
        kv.iov_len = vec->psize;
-       iov_iter_kvec(&input, WRITE, &kv, 1, vec->psize);
+       iov_iter_kvec(&input, ITER_SOURCE, &kv, 1, vec->psize);
        return build_test_sglist(tsgl, cfg->src_divs, alignmask, vec->psize,
                                 &input, divs);
 }
index 6bb0b778b5da527025772478e0f6d3113bac2607..9a93ceedd936113203c3a9a37ab6cc3d855f3b59 100644 (file)
@@ -455,7 +455,7 @@ static ssize_t pfru_write(struct file *file, const char __user *buf,
 
        iov.iov_base = (void __user *)buf;
        iov.iov_len = len;
-       iov_iter_init(&iter, WRITE, &iov, 1, len);
+       iov_iter_init(&iter, ITER_SOURCE, &iov, 1, len);
 
        /* map the communication buffer */
        phy_addr = (phys_addr_t)((buf_info.addr_hi << 32) | buf_info.addr_lo);
index 8532b839a3435c895ca297efd14ffd421ae513ad..0aa1dde07a98dfc8df87236c66aa86da4e7ab440 100644 (file)
@@ -1816,7 +1816,7 @@ int drbd_send(struct drbd_connection *connection, struct socket *sock,
 
        /* THINK  if (signal_pending) return ... ? */
 
-       iov_iter_kvec(&msg.msg_iter, WRITE, &iov, 1, size);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, &iov, 1, size);
 
        if (sock == connection->data.socket) {
                rcu_read_lock();
index ee69d50ba4fd3bd977fd4c0da72d3a2d4c59ab32..54010eac6ca9199f9ac40f2d738801e28fdec6b8 100644 (file)
@@ -507,7 +507,7 @@ static int drbd_recv_short(struct socket *sock, void *buf, size_t size, int flag
        struct msghdr msg = {
                .msg_flags = (flags ? flags : MSG_WAITALL | MSG_NOSIGNAL)
        };
-       iov_iter_kvec(&msg.msg_iter, READ, &iov, 1, size);
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, &iov, 1, size);
        return sock_recvmsg(sock, &msg, msg.msg_flags);
 }
 
index ad92192c7d617368194fa22de2f9c3a2845f8e62..1f8f3b87bdfa869cb41c35d63fe89f5bedb70b21 100644 (file)
@@ -243,7 +243,7 @@ static int lo_write_bvec(struct file *file, struct bio_vec *bvec, loff_t *ppos)
        struct iov_iter i;
        ssize_t bw;
 
-       iov_iter_bvec(&i, WRITE, bvec, 1, bvec->bv_len);
+       iov_iter_bvec(&i, ITER_SOURCE, bvec, 1, bvec->bv_len);
 
        file_start_write(file);
        bw = vfs_iter_write(file, &i, ppos, 0);
@@ -286,7 +286,7 @@ static int lo_read_simple(struct loop_device *lo, struct request *rq,
        ssize_t len;
 
        rq_for_each_segment(bvec, rq, iter) {
-               iov_iter_bvec(&i, READ, &bvec, 1, bvec.bv_len);
+               iov_iter_bvec(&i, ITER_DEST, &bvec, 1, bvec.bv_len);
                len = vfs_iter_read(lo->lo_backing_file, &i, &pos, 0);
                if (len < 0)
                        return len;
@@ -392,7 +392,7 @@ static void lo_rw_aio_complete(struct kiocb *iocb, long ret)
 }
 
 static int lo_rw_aio(struct loop_device *lo, struct loop_cmd *cmd,
-                    loff_t pos, bool rw)
+                    loff_t pos, int rw)
 {
        struct iov_iter iter;
        struct req_iterator rq_iter;
@@ -448,7 +448,7 @@ static int lo_rw_aio(struct loop_device *lo, struct loop_cmd *cmd,
        cmd->iocb.ki_flags = IOCB_DIRECT;
        cmd->iocb.ki_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 0);
 
-       if (rw == WRITE)
+       if (rw == ITER_SOURCE)
                ret = call_write_iter(file, &cmd->iocb, &iter);
        else
                ret = call_read_iter(file, &cmd->iocb, &iter);
@@ -490,12 +490,12 @@ static int do_req_filebacked(struct loop_device *lo, struct request *rq)
                return lo_fallocate(lo, rq, pos, FALLOC_FL_PUNCH_HOLE);
        case REQ_OP_WRITE:
                if (cmd->use_aio)
-                       return lo_rw_aio(lo, cmd, pos, WRITE);
+                       return lo_rw_aio(lo, cmd, pos, ITER_SOURCE);
                else
                        return lo_write_simple(lo, rq, pos);
        case REQ_OP_READ:
                if (cmd->use_aio)
-                       return lo_rw_aio(lo, cmd, pos, READ);
+                       return lo_rw_aio(lo, cmd, pos, ITER_DEST);
                else
                        return lo_read_simple(lo, rq, pos);
        default:
index 5cffd96ef2d7decd29600be8618c8670fdaf2ddf..e379ccc63c520788c93c9adfab077fb41dda8701 100644 (file)
@@ -563,7 +563,7 @@ static int nbd_send_cmd(struct nbd_device *nbd, struct nbd_cmd *cmd, int index)
        u32 nbd_cmd_flags = 0;
        int sent = nsock->sent, skip = 0;
 
-       iov_iter_kvec(&from, WRITE, &iov, 1, sizeof(request));
+       iov_iter_kvec(&from, ITER_SOURCE, &iov, 1, sizeof(request));
 
        type = req_to_nbd_cmd_type(req);
        if (type == U32_MAX)
@@ -649,7 +649,7 @@ send_pages:
 
                        dev_dbg(nbd_to_dev(nbd), "request %p: sending %d bytes data\n",
                                req, bvec.bv_len);
-                       iov_iter_bvec(&from, WRITE, &bvec, 1, bvec.bv_len);
+                       iov_iter_bvec(&from, ITER_SOURCE, &bvec, 1, bvec.bv_len);
                        if (skip) {
                                if (skip >= iov_iter_count(&from)) {
                                        skip -= iov_iter_count(&from);
@@ -701,7 +701,7 @@ static int nbd_read_reply(struct nbd_device *nbd, int index,
        int result;
 
        reply->magic = 0;
-       iov_iter_kvec(&to, READ, &iov, 1, sizeof(*reply));
+       iov_iter_kvec(&to, ITER_DEST, &iov, 1, sizeof(*reply));
        result = sock_xmit(nbd, index, 0, &to, MSG_WAITALL, NULL);
        if (result < 0) {
                if (!nbd_disconnected(nbd->config))
@@ -790,7 +790,7 @@ static struct nbd_cmd *nbd_handle_reply(struct nbd_device *nbd, int index,
                struct iov_iter to;
 
                rq_for_each_segment(bvec, req, iter) {
-                       iov_iter_bvec(&to, READ, &bvec, 1, bvec.bv_len);
+                       iov_iter_bvec(&to, ITER_DEST, &bvec, 1, bvec.bv_len);
                        result = sock_xmit(nbd, index, 0, &to, MSG_WAITALL, NULL);
                        if (result < 0) {
                                dev_err(disk_to_dev(nbd->disk), "Receive data failed (result %d)\n",
@@ -1267,7 +1267,7 @@ static void send_disconnects(struct nbd_device *nbd)
        for (i = 0; i < config->num_connections; i++) {
                struct nbd_sock *nsock = config->socks[i];
 
-               iov_iter_kvec(&from, WRITE, &iov, 1, sizeof(request));
+               iov_iter_kvec(&from, ITER_SOURCE, &iov, 1, sizeof(request));
                mutex_lock(&nsock->tx_lock);
                ret = sock_xmit(nbd, i, 1, &from, 0, NULL);
                if (ret < 0)
index 69754155300ea7d9c8e17029d9c226385bb700c7..b96751b63b581ef92e1820cd49951a35c240c32b 100644 (file)
@@ -1291,7 +1291,7 @@ SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags
                        return ret;
        }
 
-       ret = import_single_range(READ, ubuf, len, &iov, &iter);
+       ret = import_single_range(ITER_DEST, ubuf, len, &iov, &iter);
        if (unlikely(ret))
                return ret;
        return get_random_bytes_user(&iter);
@@ -1409,7 +1409,7 @@ static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
                        return -EINVAL;
                if (get_user(len, p++))
                        return -EFAULT;
-               ret = import_single_range(WRITE, p, len, &iov, &iter);
+               ret = import_single_range(ITER_SOURCE, p, len, &iov, &iter);
                if (unlikely(ret))
                        return ret;
                ret = write_pool_user(&iter);
index efd4942aa04356d38b9c0edbcd338516a159bbb5..9912b7a6a4b9a41407d92a8a4028bd5ed6c4f1a4 100644 (file)
@@ -659,7 +659,7 @@ static void sbefifo_collect_async_ffdc(struct sbefifo *sbefifo)
        }
         ffdc_iov.iov_base = ffdc;
        ffdc_iov.iov_len = SBEFIFO_MAX_FFDC_SIZE;
-        iov_iter_kvec(&ffdc_iter, READ, &ffdc_iov, 1, SBEFIFO_MAX_FFDC_SIZE);
+        iov_iter_kvec(&ffdc_iter, ITER_DEST, &ffdc_iov, 1, SBEFIFO_MAX_FFDC_SIZE);
        cmd[0] = cpu_to_be32(2);
        cmd[1] = cpu_to_be32(SBEFIFO_CMD_GET_SBE_FFDC);
        rc = sbefifo_do_command(sbefifo, cmd, 2, &ffdc_iter);
@@ -756,7 +756,7 @@ int sbefifo_submit(struct device *dev, const __be32 *command, size_t cmd_len,
        rbytes = (*resp_len) * sizeof(__be32);
        resp_iov.iov_base = response;
        resp_iov.iov_len = rbytes;
-        iov_iter_kvec(&resp_iter, READ, &resp_iov, 1, rbytes);
+        iov_iter_kvec(&resp_iter, ITER_DEST, &resp_iov, 1, rbytes);
 
        /* Perform the command */
        rc = mutex_lock_interruptible(&sbefifo->lock);
@@ -839,7 +839,7 @@ static ssize_t sbefifo_user_read(struct file *file, char __user *buf,
        /* Prepare iov iterator */
        resp_iov.iov_base = buf;
        resp_iov.iov_len = len;
-       iov_iter_init(&resp_iter, READ, &resp_iov, 1, len);
+       iov_iter_init(&resp_iter, ITER_DEST, &resp_iov, 1, len);
 
        /* Perform the command */
        rc = mutex_lock_interruptible(&sbefifo->lock);
index 88282b288abd93e9e79302a952b92e0bb2991ace..730f2f1e09bbd6e56f7e1576cd0c11abf377d090 100644 (file)
@@ -966,7 +966,7 @@ static void rtrs_clt_init_req(struct rtrs_clt_io_req *req,
        refcount_set(&req->ref, 1);
        req->mp_policy = clt_path->clt->mp_policy;
 
-       iov_iter_kvec(&iter, WRITE, vec, 1, usr_len);
+       iov_iter_kvec(&iter, ITER_SOURCE, vec, 1, usr_len);
        len = _copy_from_iter(req->iu->buf, usr_len, &iter);
        WARN_ON(len != usr_len);
 
index a77195e378b7ba425c3838e8e98db03c27acfef0..c24771336f611ae0140f3bd88ded876d9bf8f6a3 100644 (file)
@@ -706,7 +706,7 @@ l1oip_socket_thread(void *data)
                printk(KERN_DEBUG "%s: socket created and open\n",
                       __func__);
        while (!signal_pending(current)) {
-               iov_iter_kvec(&msg.msg_iter, READ, &iov, 1, recvbuf_size);
+               iov_iter_kvec(&msg.msg_iter, ITER_DEST, &iov, 1, recvbuf_size);
                recvlen = sock_recvmsg(socket, &msg, 0);
                if (recvlen > 0) {
                        l1oip_socket_parse(hc, &sin_rx, recvbuf, recvlen);
index 844264e1b88cc4404c3f28642b436c95a559b2da..73d71c4ec1399574c1a639a8ff892fec105ca5aa 100644 (file)
@@ -3044,7 +3044,7 @@ ssize_t vmci_qpair_enqueue(struct vmci_qp *qpair,
        if (!qpair || !buf)
                return VMCI_ERROR_INVALID_ARGS;
 
-       iov_iter_kvec(&from, WRITE, &v, 1, buf_size);
+       iov_iter_kvec(&from, ITER_SOURCE, &v, 1, buf_size);
 
        qp_lock(qpair);
 
@@ -3088,7 +3088,7 @@ ssize_t vmci_qpair_dequeue(struct vmci_qp *qpair,
        if (!qpair || !buf)
                return VMCI_ERROR_INVALID_ARGS;
 
-       iov_iter_kvec(&to, READ, &v, 1, buf_size);
+       iov_iter_kvec(&to, ITER_DEST, &v, 1, buf_size);
 
        qp_lock(qpair);
 
@@ -3133,7 +3133,7 @@ ssize_t vmci_qpair_peek(struct vmci_qp *qpair,
        if (!qpair || !buf)
                return VMCI_ERROR_INVALID_ARGS;
 
-       iov_iter_kvec(&to, READ, &v, 1, buf_size);
+       iov_iter_kvec(&to, ITER_DEST, &v, 1, buf_size);
 
        qp_lock(qpair);
 
index 9206c660a72ed23d3b9d44b5e027f33e064be754..be2fab0469cfa5072742888fda5748f638919b1c 100644 (file)
@@ -480,7 +480,7 @@ static ssize_t ppp_read(struct file *file, char __user *buf,
        ret = -EFAULT;
        iov.iov_base = buf;
        iov.iov_len = count;
-       iov_iter_init(&to, READ, &iov, 1, count);
+       iov_iter_init(&to, ITER_DEST, &iov, 1, count);
        if (skb_copy_datagram_iter(skb, 0, &to, skb->len))
                goto outf;
        ret = skb->len;
index 9b47dcb2a7d97184334cb2ca64daa5aa74e5a101..3d13f6f08388bead6bf0d779c9fa5cad080a1fee 100644 (file)
@@ -301,7 +301,7 @@ static inline void nvme_tcp_advance_req(struct nvme_tcp_request *req,
        if (!iov_iter_count(&req->iter) &&
            req->data_sent < req->data_len) {
                req->curr_bio = req->curr_bio->bi_next;
-               nvme_tcp_init_iter(req, WRITE);
+               nvme_tcp_init_iter(req, ITER_SOURCE);
        }
 }
 
@@ -781,7 +781,7 @@ static int nvme_tcp_recv_data(struct nvme_tcp_queue *queue, struct sk_buff *skb,
                                nvme_tcp_init_recv_ctx(queue);
                                return -EIO;
                        }
-                       nvme_tcp_init_iter(req, READ);
+                       nvme_tcp_init_iter(req, ITER_DEST);
                }
 
                /* we can read only from what is left in this bio */
index 64b47e2a46330b35deffe0d04cfb48e31169293b..946ad0240ee5300f4c746debf6b58a35a0ca2cb7 100644 (file)
@@ -102,10 +102,10 @@ static ssize_t nvmet_file_submit_bvec(struct nvmet_req *req, loff_t pos,
                if (req->cmd->rw.control & cpu_to_le16(NVME_RW_FUA))
                        ki_flags |= IOCB_DSYNC;
                call_iter = req->ns->file->f_op->write_iter;
-               rw = WRITE;
+               rw = ITER_SOURCE;
        } else {
                call_iter = req->ns->file->f_op->read_iter;
-               rw = READ;
+               rw = ITER_DEST;
        }
 
        iov_iter_bvec(&iter, rw, req->f.bvec, nr_segs, count);
index 6c1476e086ef4cc5d0c10c64e82285c11bebc124..cc05c094de221d81abdb51814a5b471e60833a3f 100644 (file)
@@ -331,7 +331,7 @@ static void nvmet_tcp_build_pdu_iovec(struct nvmet_tcp_cmd *cmd)
                sg_offset = 0;
        }
 
-       iov_iter_bvec(&cmd->recv_msg.msg_iter, READ, cmd->iov,
+       iov_iter_bvec(&cmd->recv_msg.msg_iter, ITER_DEST, cmd->iov,
                      nr_pages, cmd->pdu_len);
 }
 
index 83ddac1e5838f1c4c6cc3f26178f41ee342ebdad..a41833557d550b9b956f686db51f8ffff515466e 100644 (file)
@@ -103,7 +103,7 @@ static inline int memcpy_hsa_kernel(void *dst, unsigned long src, size_t count)
 
        kvec.iov_base = dst;
        kvec.iov_len = count;
-       iov_iter_kvec(&iter, READ, &kvec, 1, count);
+       iov_iter_kvec(&iter, ITER_DEST, &kvec, 1, count);
        if (memcpy_hsa_iter(&iter, src, count) < count)
                return -EIO;
        return 0;
index ce34a8ad53b4e9d99501e043be2d81c2476748f2..12344be14232b185d8ae878272849e6198d15120 100644 (file)
@@ -1726,7 +1726,7 @@ sg_start_req(Sg_request *srp, unsigned char *cmd)
        Sg_scatter_hold *rsv_schp = &sfp->reserve;
        struct request_queue *q = sfp->parentdp->device->request_queue;
        struct rq_map_data *md, map_data;
-       int rw = hp->dxfer_direction == SG_DXFER_TO_DEV ? WRITE : READ;
+       int rw = hp->dxfer_direction == SG_DXFER_TO_DEV ? ITER_SOURCE : ITER_DEST;
        struct scsi_cmnd *scmd;
 
        SCSI_LOG_TIMEOUT(4, sg_printk(KERN_INFO, sfp->parentdp,
index 8d9f21372b6746dbc82f9d607da3bfa1a3339068..26dc8ed3045b6ad9aee85d543bd2ed144e77d2ed 100644 (file)
@@ -1225,7 +1225,7 @@ int rx_data(
                return -1;
 
        memset(&msg, 0, sizeof(struct msghdr));
-       iov_iter_kvec(&msg.msg_iter, READ, iov, iov_count, data);
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, iov, iov_count, data);
 
        while (msg_data_left(&msg)) {
                rx_loop = sock_recvmsg(conn->sock, &msg, MSG_WAITALL);
@@ -1261,7 +1261,7 @@ int tx_data(
 
        memset(&msg, 0, sizeof(struct msghdr));
 
-       iov_iter_kvec(&msg.msg_iter, WRITE, iov, iov_count, data);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, iov, iov_count, data);
 
        while (msg_data_left(&msg)) {
                int tx_loop = sock_sendmsg(conn->sock, &msg);
index 55935040541b4ea60d61699a6b28adbbc6f87e4f..7e81a53dbf3cacb2e48dd23f477f531b0306637b 100644 (file)
@@ -473,7 +473,7 @@ fd_execute_write_same(struct se_cmd *cmd)
                len += se_dev->dev_attrib.block_size;
        }
 
-       iov_iter_bvec(&iter, WRITE, bvec, nolb, len);
+       iov_iter_bvec(&iter, ITER_SOURCE, bvec, nolb, len);
        ret = vfs_iter_write(fd_dev->fd_file, &iter, &pos, 0);
 
        kfree(bvec);
index 053a2bca4c475a54ba7081b979b331652124edea..f8b326eed54dcab356fa18025f8f34b4a11174a6 100644 (file)
@@ -309,7 +309,7 @@ int usbip_recv(struct socket *sock, void *buf, int size)
        if (!sock || !buf || !size)
                return -EINVAL;
 
-       iov_iter_kvec(&msg.msg_iter, READ, &iov, 1, size);
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, &iov, 1, size);
 
        usbip_dbg_xmit("enter\n");
 
index 20265393aee7cff9cd6560afa437925395b460e8..9af19b0cf3b7e98622cfd0256a3a2f818cf0366b 100644 (file)
@@ -611,7 +611,7 @@ static size_t init_iov_iter(struct vhost_virtqueue *vq, struct iov_iter *iter,
        /* Skip header. TODO: support TSO. */
        size_t len = iov_length(vq->iov, out);
 
-       iov_iter_init(iter, WRITE, vq->iov, out, len);
+       iov_iter_init(iter, ITER_SOURCE, vq->iov, out, len);
        iov_iter_advance(iter, hdr_size);
 
        return iov_iter_count(iter);
@@ -1184,14 +1184,14 @@ static void handle_rx(struct vhost_net *net)
                        msg.msg_control = vhost_net_buf_consume(&nvq->rxq);
                /* On overrun, truncate and discard */
                if (unlikely(headcount > UIO_MAXIOV)) {
-                       iov_iter_init(&msg.msg_iter, READ, vq->iov, 1, 1);
+                       iov_iter_init(&msg.msg_iter, ITER_DEST, vq->iov, 1, 1);
                        err = sock->ops->recvmsg(sock, &msg,
                                                 1, MSG_DONTWAIT | MSG_TRUNC);
                        pr_debug("Discarded rx packet: len %zd\n", sock_len);
                        continue;
                }
                /* We don't need to be notified again. */
-               iov_iter_init(&msg.msg_iter, READ, vq->iov, in, vhost_len);
+               iov_iter_init(&msg.msg_iter, ITER_DEST, vq->iov, in, vhost_len);
                fixup = msg.msg_iter;
                if (unlikely((vhost_hlen))) {
                        /* We will supply the header ourselves
index 7ebf106d50c15ecaffcecdd8ca5d58e6e0d08fa1..dca6346d75b306b6638cb9fc67dfe0d7305fb12d 100644 (file)
@@ -563,7 +563,7 @@ static void vhost_scsi_complete_cmd_work(struct vhost_work *work)
                memcpy(v_rsp.sense, cmd->tvc_sense_buf,
                       se_cmd->scsi_sense_length);
 
-               iov_iter_init(&iov_iter, READ, &cmd->tvc_resp_iov,
+               iov_iter_init(&iov_iter, ITER_DEST, &cmd->tvc_resp_iov,
                              cmd->tvc_in_iovs, sizeof(v_rsp));
                ret = copy_to_iter(&v_rsp, sizeof(v_rsp), &iov_iter);
                if (likely(ret == sizeof(v_rsp))) {
@@ -864,7 +864,7 @@ vhost_scsi_get_desc(struct vhost_scsi *vs, struct vhost_virtqueue *vq,
         * point at the start of the outgoing WRITE payload, if
         * DMA_TO_DEVICE is set.
         */
-       iov_iter_init(&vc->out_iter, WRITE, vq->iov, vc->out, vc->out_size);
+       iov_iter_init(&vc->out_iter, ITER_SOURCE, vq->iov, vc->out, vc->out_size);
        ret = 0;
 
 done:
@@ -1016,7 +1016,7 @@ vhost_scsi_handle_vq(struct vhost_scsi *vs, struct vhost_virtqueue *vq)
                        data_direction = DMA_FROM_DEVICE;
                        exp_data_len = vc.in_size - vc.rsp_size;
 
-                       iov_iter_init(&in_iter, READ, &vq->iov[vc.out], vc.in,
+                       iov_iter_init(&in_iter, ITER_DEST, &vq->iov[vc.out], vc.in,
                                      vc.rsp_size + exp_data_len);
                        iov_iter_advance(&in_iter, vc.rsp_size);
                        data_iter = in_iter;
@@ -1146,7 +1146,7 @@ vhost_scsi_send_tmf_resp(struct vhost_scsi *vs, struct vhost_virtqueue *vq,
        memset(&rsp, 0, sizeof(rsp));
        rsp.response = tmf_resp_code;
 
-       iov_iter_init(&iov_iter, READ, resp_iov, in_iovs, sizeof(rsp));
+       iov_iter_init(&iov_iter, ITER_DEST, resp_iov, in_iovs, sizeof(rsp));
 
        ret = copy_to_iter(&rsp, sizeof(rsp), &iov_iter);
        if (likely(ret == sizeof(rsp)))
@@ -1238,7 +1238,7 @@ vhost_scsi_send_an_resp(struct vhost_scsi *vs,
        memset(&rsp, 0, sizeof(rsp));   /* event_actual = 0 */
        rsp.response = VIRTIO_SCSI_S_OK;
 
-       iov_iter_init(&iov_iter, READ, &vq->iov[vc->out], vc->in, sizeof(rsp));
+       iov_iter_init(&iov_iter, ITER_DEST, &vq->iov[vc->out], vc->in, sizeof(rsp));
 
        ret = copy_to_iter(&rsp, sizeof(rsp), &iov_iter);
        if (likely(ret == sizeof(rsp)))
index da0ff415b0a1e5a204148030fe75d8896f938120..5c9fe3c9c3646529961fa187b2eebedf7a532c88 100644 (file)
@@ -832,7 +832,7 @@ static int vhost_copy_to_user(struct vhost_virtqueue *vq, void __user *to,
                                     VHOST_ACCESS_WO);
                if (ret < 0)
                        goto out;
-               iov_iter_init(&t, READ, vq->iotlb_iov, ret, size);
+               iov_iter_init(&t, ITER_DEST, vq->iotlb_iov, ret, size);
                ret = copy_to_iter(from, size, &t);
                if (ret == size)
                        ret = 0;
@@ -871,7 +871,7 @@ static int vhost_copy_from_user(struct vhost_virtqueue *vq, void *to,
                               (unsigned long long) size);
                        goto out;
                }
-               iov_iter_init(&f, WRITE, vq->iotlb_iov, ret, size);
+               iov_iter_init(&f, ITER_SOURCE, vq->iotlb_iov, ret, size);
                ret = copy_from_iter(to, size, &f);
                if (ret == size)
                        ret = 0;
@@ -2135,7 +2135,7 @@ static int get_indirect(struct vhost_virtqueue *vq,
                        vq_err(vq, "Translation failure %d in indirect.\n", ret);
                return ret;
        }
-       iov_iter_init(&from, WRITE, vq->indirect, ret, len);
+       iov_iter_init(&from, ITER_SOURCE, vq->indirect, ret, len);
        count = len / sizeof desc;
        /* Buffers are chained via a 16 bit next field, so
         * we can have at most 2^16 of these. */
index 8be8f30a78f782e9534366e39e190313dca7af1e..c9f5c8ea3afbd175246bb97f7dbf84d85df55fa2 100644 (file)
@@ -1162,7 +1162,7 @@ static inline int copy_from_iotlb(const struct vringh *vrh, void *dst,
                else if (ret < 0)
                        return ret;
 
-               iov_iter_bvec(&iter, WRITE, iov, ret, translated);
+               iov_iter_bvec(&iter, ITER_SOURCE, iov, ret, translated);
 
                ret = copy_from_iter(dst, translated, &iter);
                if (ret < 0)
@@ -1195,7 +1195,7 @@ static inline int copy_to_iotlb(const struct vringh *vrh, void *dst,
                else if (ret < 0)
                        return ret;
 
-               iov_iter_bvec(&iter, READ, iov, ret, translated);
+               iov_iter_bvec(&iter, ITER_DEST, iov, ret, translated);
 
                ret = copy_to_iter(src, translated, &iter);
                if (ret < 0)
index 5703775af12976ab6d5a7286d8d28811936a7295..cd6f7776013ac790efc85986188b35d27e8310b0 100644 (file)
@@ -165,7 +165,7 @@ vhost_transport_do_send_pkt(struct vhost_vsock *vsock,
                        break;
                }
 
-               iov_iter_init(&iov_iter, READ, &vq->iov[out], in, iov_len);
+               iov_iter_init(&iov_iter, ITER_DEST, &vq->iov[out], in, iov_len);
                payload_len = pkt->len - pkt->off;
 
                /* If the packet is greater than the space available in the
@@ -371,7 +371,7 @@ vhost_vsock_alloc_pkt(struct vhost_virtqueue *vq,
                return NULL;
 
        len = iov_length(vq->iov, out);
-       iov_iter_init(&iov_iter, WRITE, vq->iov, out, len);
+       iov_iter_init(&iov_iter, ITER_SOURCE, vq->iov, out, len);
 
        nbytes = copy_from_iter(&pkt->hdr, sizeof(pkt->hdr), &iov_iter);
        if (nbytes != sizeof(pkt->hdr)) {
index 21b9c850a382f31932264049de0ae36f59d63dc7..28b2a1fa25ab5836586de8989431bf5661df418c 100644 (file)
@@ -129,13 +129,13 @@ static bool pvcalls_conn_back_read(void *opaque)
        if (masked_prod < masked_cons) {
                vec[0].iov_base = data->in + masked_prod;
                vec[0].iov_len = wanted;
-               iov_iter_kvec(&msg.msg_iter, READ, vec, 1, wanted);
+               iov_iter_kvec(&msg.msg_iter, ITER_DEST, vec, 1, wanted);
        } else {
                vec[0].iov_base = data->in + masked_prod;
                vec[0].iov_len = array_size - masked_prod;
                vec[1].iov_base = data->in;
                vec[1].iov_len = wanted - vec[0].iov_len;
-               iov_iter_kvec(&msg.msg_iter, READ, vec, 2, wanted);
+               iov_iter_kvec(&msg.msg_iter, ITER_DEST, vec, 2, wanted);
        }
 
        atomic_set(&map->read, 0);
@@ -188,13 +188,13 @@ static bool pvcalls_conn_back_write(struct sock_mapping *map)
        if (pvcalls_mask(prod, array_size) > pvcalls_mask(cons, array_size)) {
                vec[0].iov_base = data->out + pvcalls_mask(cons, array_size);
                vec[0].iov_len = size;
-               iov_iter_kvec(&msg.msg_iter, WRITE, vec, 1, size);
+               iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, vec, 1, size);
        } else {
                vec[0].iov_base = data->out + pvcalls_mask(cons, array_size);
                vec[0].iov_len = array_size - pvcalls_mask(cons, array_size);
                vec[1].iov_base = data->out;
                vec[1].iov_len = size - vec[0].iov_len;
-               iov_iter_kvec(&msg.msg_iter, WRITE, vec, 2, size);
+               iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, vec, 2, size);
        }
 
        atomic_set(&map->write, 0);
index 47b9a1122f344f304623c4d66ab7e4f84e356de6..a19891015f19688e5304c0e5105c837130355c90 100644 (file)
@@ -40,7 +40,7 @@ static void v9fs_issue_read(struct netfs_io_subrequest *subreq)
        size_t len = subreq->len   - subreq->transferred;
        int total, err;
 
-       iov_iter_xarray(&to, READ, &rreq->mapping->i_pages, pos, len);
+       iov_iter_xarray(&to, ITER_DEST, &rreq->mapping->i_pages, pos, len);
 
        total = p9_client_read(fid, pos, &to, &err);
 
@@ -172,7 +172,7 @@ static int v9fs_vfs_write_folio_locked(struct folio *folio)
 
        len = min_t(loff_t, i_size - start, len);
 
-       iov_iter_xarray(&from, WRITE, &folio_mapping(folio)->i_pages, start, len);
+       iov_iter_xarray(&from, ITER_SOURCE, &folio_mapping(folio)->i_pages, start, len);
 
        /* We should have writeback_fid always set */
        BUG_ON(!v9inode->writeback_fid);
index 000fbaae9b180ce749ae3c10eab6b56cfb98a0a6..3bb95adc9619ddb8e53a9e832a74b155c1d719fe 100644 (file)
@@ -109,7 +109,7 @@ static int v9fs_dir_readdir(struct file *file, struct dir_context *ctx)
                        struct iov_iter to;
                        int n;
 
-                       iov_iter_kvec(&to, READ, &kvec, 1, buflen);
+                       iov_iter_kvec(&to, ITER_DEST, &kvec, 1, buflen);
                        n = p9_client_read(file->private_data, ctx->pos, &to,
                                           &err);
                        if (err)
index 1f9298a4bd4288390c1e98395486931ff4c4ac93..2807bb63f7802fbb4cc715cedc3b76fcde0940d1 100644 (file)
@@ -24,7 +24,7 @@ ssize_t v9fs_fid_xattr_get(struct p9_fid *fid, const char *name,
        struct iov_iter to;
        int err;
 
-       iov_iter_kvec(&to, READ, &kvec, 1, buffer_size);
+       iov_iter_kvec(&to, ITER_DEST, &kvec, 1, buffer_size);
 
        attr_fid = p9_client_xattrwalk(fid, name, &attr_size);
        if (IS_ERR(attr_fid)) {
@@ -109,7 +109,7 @@ int v9fs_fid_xattr_set(struct p9_fid *fid, const char *name,
        struct iov_iter from;
        int retval, err;
 
-       iov_iter_kvec(&from, WRITE, &kvec, 1, value_len);
+       iov_iter_kvec(&from, ITER_SOURCE, &kvec, 1, value_len);
 
        p9_debug(P9_DEBUG_VFS, "name = %s value_len = %zu flags = %d\n",
                 name, value_len, flags);
index 0a090d614e76280beaae7664fcb6f4a223192164..7dcd59693a0c2fc62f9cf9af0b5fdc5521a2d8ba 100644 (file)
@@ -298,7 +298,7 @@ static int afs_deliver_cb_callback(struct afs_call *call)
                if (call->count2 != call->count && call->count2 != 0)
                        return afs_protocol_error(call, afs_eproto_cb_count);
                call->iter = &call->def_iter;
-               iov_iter_discard(&call->def_iter, READ, call->count2 * 3 * 4);
+               iov_iter_discard(&call->def_iter, ITER_DEST, call->count2 * 3 * 4);
                call->unmarshall++;
 
                fallthrough;
index 230c2d19116d9daf79840db2e67beaadf127c4d6..104df2964225c6bfdaa88ac11c5a003f4f597a26 100644 (file)
@@ -305,7 +305,7 @@ expand:
        req->actual_len = i_size; /* May change */
        req->len = nr_pages * PAGE_SIZE; /* We can ask for more than there is */
        req->data_version = dvnode->status.data_version; /* May change */
-       iov_iter_xarray(&req->def_iter, READ, &dvnode->netfs.inode.i_mapping->i_pages,
+       iov_iter_xarray(&req->def_iter, ITER_DEST, &dvnode->netfs.inode.i_mapping->i_pages,
                        0, i_size);
        req->iter = &req->def_iter;
 
index d1cfb235c4b9b7be2226fd8129ea79326c933ef9..2eeab57df133a4ef4dab282033785f7d3ac80198 100644 (file)
@@ -324,7 +324,7 @@ static void afs_issue_read(struct netfs_io_subrequest *subreq)
        fsreq->vnode    = vnode;
        fsreq->iter     = &fsreq->def_iter;
 
-       iov_iter_xarray(&fsreq->def_iter, READ,
+       iov_iter_xarray(&fsreq->def_iter, ITER_DEST,
                        &fsreq->vnode->netfs.inode.i_mapping->i_pages,
                        fsreq->pos, fsreq->len);
 
@@ -346,7 +346,7 @@ static int afs_symlink_read_folio(struct file *file, struct folio *folio)
        fsreq->len      = folio_size(folio);
        fsreq->vnode    = vnode;
        fsreq->iter     = &fsreq->def_iter;
-       iov_iter_xarray(&fsreq->def_iter, READ, &folio->mapping->i_pages,
+       iov_iter_xarray(&fsreq->def_iter, ITER_DEST, &folio->mapping->i_pages,
                        fsreq->pos, fsreq->len);
 
        ret = afs_fetch_data(fsreq->vnode, fsreq);
index 723d162078a3c0d7a7df789f60703758be9f9f6e..9ba7b68375c9fc6a6016b500da570edaab775613 100644 (file)
@@ -1301,7 +1301,7 @@ static inline void afs_extract_begin(struct afs_call *call, void *buf, size_t si
        call->iov_len = size;
        call->kvec[0].iov_base = buf;
        call->kvec[0].iov_len = size;
-       iov_iter_kvec(&call->def_iter, READ, call->kvec, 1, size);
+       iov_iter_kvec(&call->def_iter, ITER_DEST, call->kvec, 1, size);
 }
 
 static inline void afs_extract_to_tmp(struct afs_call *call)
@@ -1319,7 +1319,7 @@ static inline void afs_extract_to_tmp64(struct afs_call *call)
 static inline void afs_extract_discard(struct afs_call *call, size_t size)
 {
        call->iov_len = size;
-       iov_iter_discard(&call->def_iter, READ, size);
+       iov_iter_discard(&call->def_iter, ITER_DEST, size);
 }
 
 static inline void afs_extract_to_buf(struct afs_call *call, size_t size)
index eccc3cd0cb70047508fa88ea3d723b2e2f1f7f85..c62939e5ea1f0b9343f42866f194f9337d818e08 100644 (file)
@@ -359,7 +359,7 @@ void afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, gfp_t gfp)
 
        msg.msg_name            = NULL;
        msg.msg_namelen         = 0;
-       iov_iter_kvec(&msg.msg_iter, WRITE, iov, 1, call->request_size);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, iov, 1, call->request_size);
        msg.msg_control         = NULL;
        msg.msg_controllen      = 0;
        msg.msg_flags           = MSG_WAITALL | (call->write_iter ? MSG_MORE : 0);
@@ -400,7 +400,7 @@ error_do_abort:
                                        RX_USER_ABORT, ret, "KSD");
        } else {
                len = 0;
-               iov_iter_kvec(&msg.msg_iter, READ, NULL, 0, 0);
+               iov_iter_kvec(&msg.msg_iter, ITER_DEST, NULL, 0, 0);
                rxrpc_kernel_recv_data(call->net->socket, rxcall,
                                       &msg.msg_iter, &len, false,
                                       &call->abort_code, &call->service_id);
@@ -485,7 +485,7 @@ static void afs_deliver_to_call(struct afs_call *call)
               ) {
                if (state == AFS_CALL_SV_AWAIT_ACK) {
                        len = 0;
-                       iov_iter_kvec(&call->def_iter, READ, NULL, 0, 0);
+                       iov_iter_kvec(&call->def_iter, ITER_DEST, NULL, 0, 0);
                        ret = rxrpc_kernel_recv_data(call->net->socket,
                                                     call->rxcall, &call->def_iter,
                                                     &len, false, &remote_abort,
@@ -822,7 +822,7 @@ void afs_send_empty_reply(struct afs_call *call)
 
        msg.msg_name            = NULL;
        msg.msg_namelen         = 0;
-       iov_iter_kvec(&msg.msg_iter, WRITE, NULL, 0, 0);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, NULL, 0, 0);
        msg.msg_control         = NULL;
        msg.msg_controllen      = 0;
        msg.msg_flags           = 0;
@@ -862,7 +862,7 @@ void afs_send_simple_reply(struct afs_call *call, const void *buf, size_t len)
        iov[0].iov_len          = len;
        msg.msg_name            = NULL;
        msg.msg_namelen         = 0;
-       iov_iter_kvec(&msg.msg_iter, WRITE, iov, 1, len);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, iov, 1, len);
        msg.msg_control         = NULL;
        msg.msg_controllen      = 0;
        msg.msg_flags           = 0;
index 9ebdd36eaf2fc6f4b0f54f39440c29332ab26d4c..08fd456dde67c249c75a9ee6b84985a6bdd7f017 100644 (file)
@@ -609,7 +609,7 @@ static ssize_t afs_write_back_from_locked_folio(struct address_space *mapping,
                 */
                afs_write_to_cache(vnode, start, len, i_size, caching);
 
-               iov_iter_xarray(&iter, WRITE, &mapping->i_pages, start, len);
+               iov_iter_xarray(&iter, ITER_SOURCE, &mapping->i_pages, start, len);
                ret = afs_store_data(vnode, &iter, start, false);
        } else {
                _debug("write discard %x @%llx [%llx]", len, start, i_size);
@@ -1000,7 +1000,7 @@ int afs_launder_folio(struct folio *folio)
                bv[0].bv_page = &folio->page;
                bv[0].bv_offset = f;
                bv[0].bv_len = t - f;
-               iov_iter_bvec(&iter, WRITE, bv, 1, bv[0].bv_len);
+               iov_iter_bvec(&iter, ITER_SOURCE, bv, 1, bv[0].bv_len);
 
                trace_afs_folio_dirty(vnode, tracepoint_string("launder"), folio);
                ret = afs_store_data(vnode, &iter, folio_pos(folio) + f, true);
index 5b2ff20ad32298e827b8cb68da24160e8b91ae41..562916d85cba8575f183a6b8811a55e30498405e 100644 (file)
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1552,7 +1552,7 @@ static int aio_read(struct kiocb *req, const struct iocb *iocb,
        if (unlikely(!file->f_op->read_iter))
                return -EINVAL;
 
-       ret = aio_setup_rw(READ, iocb, &iovec, vectored, compat, &iter);
+       ret = aio_setup_rw(ITER_DEST, iocb, &iovec, vectored, compat, &iter);
        if (ret < 0)
                return ret;
        ret = rw_verify_area(READ, file, &req->ki_pos, iov_iter_count(&iter));
@@ -1580,7 +1580,7 @@ static int aio_write(struct kiocb *req, const struct iocb *iocb,
        if (unlikely(!file->f_op->write_iter))
                return -EINVAL;
 
-       ret = aio_setup_rw(WRITE, iocb, &iovec, vectored, compat, &iter);
+       ret = aio_setup_rw(ITER_SOURCE, iocb, &iovec, vectored, compat, &iter);
        if (ret < 0)
                return ret;
        ret = rw_verify_area(WRITE, file, &req->ki_pos, iov_iter_count(&iter));
index d5dd8bed1488a807d9ec4e5bb0834b8b6c0b4f1e..a59c884c2cb02a45571d7a7787b30f6523b0c12d 100644 (file)
@@ -5283,7 +5283,7 @@ static int btrfs_ioctl_encoded_read(struct file *file, void __user *argp,
                goto out_acct;
        }
 
-       ret = import_iovec(READ, args.iov, args.iovcnt, ARRAY_SIZE(iovstack),
+       ret = import_iovec(ITER_DEST, args.iov, args.iovcnt, ARRAY_SIZE(iovstack),
                           &iov, &iter);
        if (ret < 0)
                goto out_acct;
@@ -5382,7 +5382,7 @@ static int btrfs_ioctl_encoded_write(struct file *file, void __user *argp, bool
        if (args.len > args.unencoded_len - args.unencoded_offset)
                goto out_acct;
 
-       ret = import_iovec(WRITE, args.iov, args.iovcnt, ARRAY_SIZE(iovstack),
+       ret = import_iovec(ITER_SOURCE, args.iov, args.iovcnt, ARRAY_SIZE(iovstack),
                           &iov, &iter);
        if (ret < 0)
                goto out_acct;
index dcf701b05cc1c0e9b4a633bc2b3eb74f7148a32a..61f47debec5ac655c33ad519ecc8648c7c37133a 100644 (file)
@@ -288,7 +288,7 @@ static bool ceph_netfs_issue_op_inline(struct netfs_io_subrequest *subreq)
        }
 
        len = min_t(size_t, iinfo->inline_len - subreq->start, subreq->len);
-       iov_iter_xarray(&iter, READ, &rreq->mapping->i_pages, subreq->start, len);
+       iov_iter_xarray(&iter, ITER_DEST, &rreq->mapping->i_pages, subreq->start, len);
        err = copy_to_iter(iinfo->inline_data + subreq->start, len, &iter);
        if (err == 0)
                err = -EFAULT;
@@ -327,7 +327,7 @@ static void ceph_netfs_issue_read(struct netfs_io_subrequest *subreq)
        }
 
        dout("%s: pos=%llu orig_len=%zu len=%llu\n", __func__, subreq->start, subreq->len, len);
-       iov_iter_xarray(&iter, READ, &rreq->mapping->i_pages, subreq->start, len);
+       iov_iter_xarray(&iter, ITER_DEST, &rreq->mapping->i_pages, subreq->start, len);
        err = iov_iter_get_pages_alloc2(&iter, &pages, len, &page_off);
        if (err < 0) {
                dout("%s: iov_ter_get_pages_alloc returned %d\n", __func__, err);
index 04fd34557de84b49612dd94f5cbd1d748ee9921a..6f9580defb2b390784f355a0608a67609f9e2298 100644 (file)
@@ -1161,7 +1161,7 @@ static void ceph_aio_complete_req(struct ceph_osd_request *req)
                                aio_req->total_len = rc + zlen;
                        }
 
-                       iov_iter_bvec(&i, READ, osd_data->bvec_pos.bvecs,
+                       iov_iter_bvec(&i, ITER_DEST, osd_data->bvec_pos.bvecs,
                                      osd_data->num_bvecs, len);
                        iov_iter_advance(&i, rc);
                        iov_iter_zero(zlen, &i);
@@ -1400,7 +1400,7 @@ ceph_direct_read_write(struct kiocb *iocb, struct iov_iter *iter,
                                int zlen = min_t(size_t, len - ret,
                                                 size - pos - ret);
 
-                               iov_iter_bvec(&i, READ, bvecs, num_pages, len);
+                               iov_iter_bvec(&i, ITER_DEST, bvecs, num_pages, len);
                                iov_iter_advance(&i, ret);
                                iov_iter_zero(zlen, &i);
                                ret += zlen;
index 9db9527c61cfc16c11f4fa114853bb83c0fe876a..e80252a83225717b9d7bbb9b504d2042f91f8f32 100644 (file)
@@ -759,7 +759,7 @@ cifs_read_from_socket(struct TCP_Server_Info *server, char *buf,
 {
        struct msghdr smb_msg = {};
        struct kvec iov = {.iov_base = buf, .iov_len = to_read};
-       iov_iter_kvec(&smb_msg.msg_iter, READ, &iov, 1, to_read);
+       iov_iter_kvec(&smb_msg.msg_iter, ITER_DEST, &iov, 1, to_read);
 
        return cifs_readv_from_socket(server, &smb_msg);
 }
@@ -774,7 +774,7 @@ cifs_discard_from_socket(struct TCP_Server_Info *server, size_t to_read)
         *  and cifs_readv_from_socket sets msg_control and msg_controllen
         *  so little to initialize in struct msghdr
         */
-       iov_iter_discard(&smb_msg.msg_iter, READ, to_read);
+       iov_iter_discard(&smb_msg.msg_iter, ITER_DEST, to_read);
 
        return cifs_readv_from_socket(server, &smb_msg);
 }
@@ -786,7 +786,7 @@ cifs_read_page_from_socket(struct TCP_Server_Info *server, struct page *page,
        struct msghdr smb_msg = {};
        struct bio_vec bv = {
                .bv_page = page, .bv_len = to_read, .bv_offset = page_offset};
-       iov_iter_bvec(&smb_msg.msg_iter, READ, &bv, 1, to_read);
+       iov_iter_bvec(&smb_msg.msg_iter, ITER_DEST, &bv, 1, to_read);
        return cifs_readv_from_socket(server, &smb_msg);
 }
 
index cd9698209930965cd3cc89fd085eeec171e60e15..209dfc06fd6d13cff71f53d74d05959de5fc69a7 100644 (file)
@@ -3532,7 +3532,7 @@ static ssize_t __cifs_writev(
                ctx->iter = *from;
                ctx->len = len;
        } else {
-               rc = setup_aio_ctx_iter(ctx, from, WRITE);
+               rc = setup_aio_ctx_iter(ctx, from, ITER_SOURCE);
                if (rc) {
                        kref_put(&ctx->refcount, cifs_aio_ctx_release);
                        return rc;
@@ -4276,7 +4276,7 @@ static ssize_t __cifs_readv(
                ctx->iter = *to;
                ctx->len = len;
        } else {
-               rc = setup_aio_ctx_iter(ctx, to, READ);
+               rc = setup_aio_ctx_iter(ctx, to, ITER_DEST);
                if (rc) {
                        kref_put(&ctx->refcount, cifs_aio_ctx_release);
                        return rc;
index a1751b95631845151b1e0b8663238eaadc97b56b..f6f3a6b75601beaf73205191a3fb46758894b864 100644 (file)
@@ -150,7 +150,7 @@ static int fscache_fallback_read_page(struct inode *inode, struct page *page)
        bvec[0].bv_page         = page;
        bvec[0].bv_offset       = 0;
        bvec[0].bv_len          = PAGE_SIZE;
-       iov_iter_bvec(&iter, READ, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
+       iov_iter_bvec(&iter, ITER_DEST, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
 
        ret = fscache_begin_read_operation(&cres, cookie);
        if (ret < 0)
@@ -180,7 +180,7 @@ static int fscache_fallback_write_page(struct inode *inode, struct page *page,
        bvec[0].bv_page         = page;
        bvec[0].bv_offset       = 0;
        bvec[0].bv_len          = PAGE_SIZE;
-       iov_iter_bvec(&iter, WRITE, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
+       iov_iter_bvec(&iter, ITER_SOURCE, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
 
        ret = fscache_begin_write_operation(&cres, cookie);
        if (ret < 0)
index bfaafd02fb1f249bcf18dd6a5219b749e73c37f2..32b3877b538ae85cd491cfb68f0b5e2b5bf33005 100644 (file)
@@ -4723,13 +4723,13 @@ handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid,
                        return 0;
                }
 
-               iov_iter_bvec(&iter, WRITE, bvec, npages, data_len);
+               iov_iter_bvec(&iter, ITER_SOURCE, bvec, npages, data_len);
        } else if (buf_len >= data_offset + data_len) {
                /* read response payload is in buf */
                WARN_ONCE(npages > 0, "read data can be either in buf or in pages");
                iov.iov_base = buf + data_offset;
                iov.iov_len = data_len;
-               iov_iter_kvec(&iter, WRITE, &iov, 1, data_len);
+               iov_iter_kvec(&iter, ITER_SOURCE, &iov, 1, data_len);
        } else {
                /* read response payload cannot be in both buf and pages */
                WARN_ONCE(1, "buf can not contain only a part of read data");
index 575fa8f5834223f373a1e6ac7d558c309f0cfa40..3851d0aaa288603d9d9c10fe58e8af095ac587d7 100644 (file)
@@ -347,7 +347,7 @@ __smb_send_rqst(struct TCP_Server_Info *server, int num_rqst,
                        .iov_base = &rfc1002_marker,
                        .iov_len  = 4
                };
-               iov_iter_kvec(&smb_msg.msg_iter, WRITE, &hiov, 1, 4);
+               iov_iter_kvec(&smb_msg.msg_iter, ITER_SOURCE, &hiov, 1, 4);
                rc = smb_send_kvec(server, &smb_msg, &sent);
                if (rc < 0)
                        goto unmask;
@@ -368,7 +368,7 @@ __smb_send_rqst(struct TCP_Server_Info *server, int num_rqst,
                        size += iov[i].iov_len;
                }
 
-               iov_iter_kvec(&smb_msg.msg_iter, WRITE, iov, n_vec, size);
+               iov_iter_kvec(&smb_msg.msg_iter, ITER_SOURCE, iov, n_vec, size);
 
                rc = smb_send_kvec(server, &smb_msg, &sent);
                if (rc < 0)
@@ -384,7 +384,7 @@ __smb_send_rqst(struct TCP_Server_Info *server, int num_rqst,
                        rqst_page_get_length(&rqst[j], i, &bvec.bv_len,
                                             &bvec.bv_offset);
 
-                       iov_iter_bvec(&smb_msg.msg_iter, WRITE,
+                       iov_iter_bvec(&smb_msg.msg_iter, ITER_SOURCE,
                                      &bvec, 1, bvec.bv_len);
                        rc = smb_send_kvec(server, &smb_msg, &sent);
                        if (rc < 0)
index 7bad7785e8e675ac92d5ba6f55bec90658e4ca51..095ed821c8acefafdb653fb9801950e43738d18f 100644 (file)
@@ -853,7 +853,7 @@ static int dump_emit_page(struct coredump_params *cprm, struct page *page)
        if (dump_interrupted())
                return 0;
        pos = file->f_pos;
-       iov_iter_bvec(&iter, WRITE, &bvec, 1, PAGE_SIZE);
+       iov_iter_bvec(&iter, ITER_SOURCE, &bvec, 1, PAGE_SIZE);
        n = __kernel_write_iter(cprm->file, &iter, &pos);
        if (n != PAGE_SIZE)
                return 0;
index af5ed6b9c54dd868246135e8394380cd47726061..4c837be3b6e38a903bf822fa009e08278f926f78 100644 (file)
@@ -194,7 +194,7 @@ static int erofs_fscache_read_folios_async(struct fscache_cookie *cookie,
 
                atomic_inc(&rreq->nr_outstanding);
 
-               iov_iter_xarray(&iter, READ, &rreq->mapping->i_pages,
+               iov_iter_xarray(&iter, ITER_DEST, &rreq->mapping->i_pages,
                                start + done, subreq->len);
 
                ret = fscache_read(cres, subreq->start, &iter,
@@ -290,7 +290,7 @@ static int erofs_fscache_data_read(struct address_space *mapping,
                if (IS_ERR(src))
                        return PTR_ERR(src);
 
-               iov_iter_xarray(&iter, READ, &mapping->i_pages, pos, PAGE_SIZE);
+               iov_iter_xarray(&iter, ITER_DEST, &mapping->i_pages, pos, PAGE_SIZE);
                if (copy_to_iter(src + offset, size, &iter) != size) {
                        erofs_put_metabuf(&buf);
                        return -EFAULT;
@@ -302,7 +302,7 @@ static int erofs_fscache_data_read(struct address_space *mapping,
 
        if (!(map.m_flags & EROFS_MAP_MAPPED)) {
                count = len;
-               iov_iter_xarray(&iter, READ, &mapping->i_pages, pos, count);
+               iov_iter_xarray(&iter, ITER_DEST, &mapping->i_pages, pos, count);
                iov_iter_zero(count, &iter);
                return count;
        }
index 3af3b08a9bb3f1ba21b249d48586145911bf7863..0d2b8dec8f82cd040391b01f814e175cc39eeae9 100644 (file)
@@ -286,7 +286,7 @@ void __fscache_write_to_cache(struct fscache_cookie *cookie,
         * taken into account.
         */
 
-       iov_iter_xarray(&iter, WRITE, &mapping->i_pages, start, len);
+       iov_iter_xarray(&iter, ITER_SOURCE, &mapping->i_pages, start, len);
        fscache_write(cres, start, &iter, fscache_wreq_done, wreq);
        return;
 
index 61d8afcb10a3fdd7d06cffc00b6c35626dd2577d..fcce94ace2c23f9dcfd596e970002c203672a24b 100644 (file)
@@ -255,7 +255,7 @@ long fuse_do_ioctl(struct file *file, unsigned int cmd, unsigned long arg,
                ap.args.in_pages = true;
 
                err = -EFAULT;
-               iov_iter_init(&ii, WRITE, in_iov, in_iovs, in_size);
+               iov_iter_init(&ii, ITER_SOURCE, in_iov, in_iovs, in_size);
                for (i = 0; iov_iter_count(&ii) && !WARN_ON(i >= ap.num_pages); i++) {
                        c = copy_page_from_iter(ap.pages[i], 0, PAGE_SIZE, &ii);
                        if (c != PAGE_SIZE && iov_iter_count(&ii))
@@ -324,7 +324,7 @@ long fuse_do_ioctl(struct file *file, unsigned int cmd, unsigned long arg,
                goto out;
 
        err = -EFAULT;
-       iov_iter_init(&ii, READ, out_iov, out_iovs, transferred);
+       iov_iter_init(&ii, ITER_DEST, out_iov, out_iovs, transferred);
        for (i = 0; iov_iter_count(&ii) && !WARN_ON(i >= ap.num_pages); i++) {
                c = copy_page_to_iter(ap.pages[i], 0, PAGE_SIZE, &ii);
                if (c != PAGE_SIZE && iov_iter_count(&ii))
index e374767d1b6832745e9c59249d426c331669f95b..7f753380e047ab5102f9908bc2f4a5f99bbdda6e 100644 (file)
@@ -23,7 +23,7 @@ static void netfs_clear_unread(struct netfs_io_subrequest *subreq)
 {
        struct iov_iter iter;
 
-       iov_iter_xarray(&iter, READ, &subreq->rreq->mapping->i_pages,
+       iov_iter_xarray(&iter, ITER_DEST, &subreq->rreq->mapping->i_pages,
                        subreq->start + subreq->transferred,
                        subreq->len   - subreq->transferred);
        iov_iter_zero(iov_iter_count(&iter), &iter);
@@ -49,7 +49,7 @@ static void netfs_read_from_cache(struct netfs_io_request *rreq,
        struct iov_iter iter;
 
        netfs_stat(&netfs_n_rh_read);
-       iov_iter_xarray(&iter, READ, &rreq->mapping->i_pages,
+       iov_iter_xarray(&iter, ITER_DEST, &rreq->mapping->i_pages,
                        subreq->start + subreq->transferred,
                        subreq->len   - subreq->transferred);
 
@@ -208,7 +208,7 @@ static void netfs_rreq_do_write_to_cache(struct netfs_io_request *rreq)
                        continue;
                }
 
-               iov_iter_xarray(&iter, WRITE, &rreq->mapping->i_pages,
+               iov_iter_xarray(&iter, ITER_SOURCE, &rreq->mapping->i_pages,
                                subreq->start, subreq->len);
 
                atomic_inc(&rreq->nr_copy_ops);
index e861d7bae305f5e8995177f68ef487798e8c55c4..e731c00a9fcbc3b2c869e18d93fc0f75d5843218 100644 (file)
@@ -252,7 +252,7 @@ static int fscache_fallback_read_page(struct inode *inode, struct page *page)
        bvec[0].bv_page         = page;
        bvec[0].bv_offset       = 0;
        bvec[0].bv_len          = PAGE_SIZE;
-       iov_iter_bvec(&iter, READ, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
+       iov_iter_bvec(&iter, ITER_DEST, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
 
        ret = fscache_begin_read_operation(&cres, cookie);
        if (ret < 0)
@@ -282,7 +282,7 @@ static int fscache_fallback_write_page(struct inode *inode, struct page *page,
        bvec[0].bv_page         = page;
        bvec[0].bv_offset       = 0;
        bvec[0].bv_len          = PAGE_SIZE;
-       iov_iter_bvec(&iter, WRITE, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
+       iov_iter_bvec(&iter, ITER_SOURCE, bvec, ARRAY_SIZE(bvec), PAGE_SIZE);
 
        ret = fscache_begin_write_operation(&cres, cookie);
        if (ret < 0)
index f650afedd67fafc5d71bbfe41a845ae4a721afe6..51f453baa95230c7437fd96169b042b81738af71 100644 (file)
@@ -942,7 +942,7 @@ __be32 nfsd_readv(struct svc_rqst *rqstp, struct svc_fh *fhp,
        ssize_t host_err;
 
        trace_nfsd_read_vector(rqstp, fhp, offset, *count);
-       iov_iter_kvec(&iter, READ, vec, vlen, *count);
+       iov_iter_kvec(&iter, ITER_DEST, vec, vlen, *count);
        host_err = vfs_iter_read(file, &iter, &ppos, 0);
        return nfsd_finish_read(rqstp, fhp, file, offset, count, eof, host_err);
 }
@@ -1032,7 +1032,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct nfsd_file *nf,
        if (stable && !use_wgather)
                flags |= RWF_SYNC;
 
-       iov_iter_kvec(&iter, WRITE, vec, vlen, *cnt);
+       iov_iter_kvec(&iter, ITER_SOURCE, vec, vlen, *cnt);
        since = READ_ONCE(file->f_wb_err);
        if (verf)
                nfsd_copy_write_verifier(verf, nn);
index f660c0dbdb63b8efbf9f664f962e3cabde83597d..785cabd71d670eee9b5169cdd5a87d261d1146ff 100644 (file)
@@ -900,7 +900,7 @@ static int o2net_recv_tcp_msg(struct socket *sock, void *data, size_t len)
 {
        struct kvec vec = { .iov_len = len, .iov_base = data, };
        struct msghdr msg = { .msg_flags = MSG_DONTWAIT, };
-       iov_iter_kvec(&msg.msg_iter, READ, &vec, 1, len);
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, &vec, 1, len);
        return sock_recvmsg(sock, &msg, MSG_DONTWAIT);
 }
 
index 7a8c0c6e698de8f267bf8cd7885c26b97a252594..b3bbb5a5787ac1d2922d2d33fea181aaa3dadcee 100644 (file)
@@ -53,7 +53,7 @@ static int orangefs_writepage_locked(struct page *page,
        bv.bv_len = wlen;
        bv.bv_offset = off % PAGE_SIZE;
        WARN_ON(wlen == 0);
-       iov_iter_bvec(&iter, WRITE, &bv, 1, wlen);
+       iov_iter_bvec(&iter, ITER_SOURCE, &bv, 1, wlen);
 
        ret = wait_for_direct_io(ORANGEFS_IO_WRITE, inode, &off, &iter, wlen,
            len, wr, NULL, NULL);
@@ -112,7 +112,7 @@ static int orangefs_writepages_work(struct orangefs_writepages *ow,
                else
                        ow->bv[i].bv_offset = 0;
        }
-       iov_iter_bvec(&iter, WRITE, ow->bv, ow->npages, ow->len);
+       iov_iter_bvec(&iter, ITER_SOURCE, ow->bv, ow->npages, ow->len);
 
        WARN_ON(ow->off >= len);
        if (ow->off + ow->len > len)
@@ -270,7 +270,7 @@ static void orangefs_readahead(struct readahead_control *rac)
        offset = readahead_pos(rac);
        i_pages = &rac->mapping->i_pages;
 
-       iov_iter_xarray(&iter, READ, i_pages, offset, readahead_length(rac));
+       iov_iter_xarray(&iter, ITER_DEST, i_pages, offset, readahead_length(rac));
 
        /* read in the pages. */
        if ((ret = wait_for_direct_io(ORANGEFS_IO_READ, inode,
@@ -303,7 +303,7 @@ static int orangefs_read_folio(struct file *file, struct folio *folio)
        bv.bv_page = &folio->page;
        bv.bv_len = folio_size(folio);
        bv.bv_offset = 0;
-       iov_iter_bvec(&iter, READ, &bv, 1, folio_size(folio));
+       iov_iter_bvec(&iter, ITER_DEST, &bv, 1, folio_size(folio));
 
        ret = wait_for_direct_io(ORANGEFS_IO_READ, inode, &off, &iter,
                        folio_size(folio), inode->i_size, NULL, NULL, file);
index f2aa86c421f2d4daef6cae428912701306d07958..5aa527ca6dbe89afafb6bc8d923bdda3683a1419 100644 (file)
@@ -199,7 +199,7 @@ ssize_t __weak elfcorehdr_read(char *buf, size_t count, u64 *ppos)
        struct kvec kvec = { .iov_base = buf, .iov_len = count };
        struct iov_iter iter;
 
-       iov_iter_kvec(&iter, READ, &kvec, 1, count);
+       iov_iter_kvec(&iter, ITER_DEST, &kvec, 1, count);
 
        return read_from_oldmem(&iter, count, ppos, false);
 }
@@ -212,7 +212,7 @@ ssize_t __weak elfcorehdr_read_notes(char *buf, size_t count, u64 *ppos)
        struct kvec kvec = { .iov_base = buf, .iov_len = count };
        struct iov_iter iter;
 
-       iov_iter_kvec(&iter, READ, &kvec, 1, count);
+       iov_iter_kvec(&iter, ITER_DEST, &kvec, 1, count);
 
        return read_from_oldmem(&iter, count, ppos,
                        cc_platform_has(CC_ATTR_MEM_ENCRYPT));
@@ -437,7 +437,7 @@ static vm_fault_t mmap_vmcore_fault(struct vm_fault *vmf)
                offset = (loff_t) index << PAGE_SHIFT;
                kvec.iov_base = page_address(page);
                kvec.iov_len = PAGE_SIZE;
-               iov_iter_kvec(&iter, READ, &kvec, 1, PAGE_SIZE);
+               iov_iter_kvec(&iter, ITER_DEST, &kvec, 1, PAGE_SIZE);
 
                rc = __read_vmcore(&iter, &offset);
                if (rc < 0) {
index 328ce8cf9a85eef7057ffe0a35902a15c8af8486..37c2f28b51e84ce76bf08192d3536ad6df0e0d18 100644 (file)
@@ -384,7 +384,7 @@ static ssize_t new_sync_read(struct file *filp, char __user *buf, size_t len, lo
 
        init_sync_kiocb(&kiocb, filp);
        kiocb.ki_pos = (ppos ? *ppos : 0);
-       iov_iter_ubuf(&iter, READ, buf, len);
+       iov_iter_ubuf(&iter, ITER_DEST, buf, len);
 
        ret = call_read_iter(filp, &kiocb, &iter);
        BUG_ON(ret == -EIOCBQUEUED);
@@ -424,7 +424,7 @@ ssize_t __kernel_read(struct file *file, void *buf, size_t count, loff_t *pos)
 
        init_sync_kiocb(&kiocb, file);
        kiocb.ki_pos = pos ? *pos : 0;
-       iov_iter_kvec(&iter, READ, &iov, 1, iov.iov_len);
+       iov_iter_kvec(&iter, ITER_DEST, &iov, 1, iov.iov_len);
        ret = file->f_op->read_iter(&kiocb, &iter);
        if (ret > 0) {
                if (pos)
@@ -486,7 +486,7 @@ static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t
 
        init_sync_kiocb(&kiocb, filp);
        kiocb.ki_pos = (ppos ? *ppos : 0);
-       iov_iter_ubuf(&iter, WRITE, (void __user *)buf, len);
+       iov_iter_ubuf(&iter, ITER_SOURCE, (void __user *)buf, len);
 
        ret = call_write_iter(filp, &kiocb, &iter);
        BUG_ON(ret == -EIOCBQUEUED);
@@ -533,7 +533,7 @@ ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t
                .iov_len        = min_t(size_t, count, MAX_RW_COUNT),
        };
        struct iov_iter iter;
-       iov_iter_kvec(&iter, WRITE, &iov, 1, iov.iov_len);
+       iov_iter_kvec(&iter, ITER_SOURCE, &iov, 1, iov.iov_len);
        return __kernel_write_iter(file, &iter, pos);
 }
 /*
@@ -911,7 +911,7 @@ static ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
        struct iov_iter iter;
        ssize_t ret;
 
-       ret = import_iovec(READ, vec, vlen, ARRAY_SIZE(iovstack), &iov, &iter);
+       ret = import_iovec(ITER_DEST, vec, vlen, ARRAY_SIZE(iovstack), &iov, &iter);
        if (ret >= 0) {
                ret = do_iter_read(file, &iter, pos, flags);
                kfree(iov);
@@ -928,7 +928,7 @@ static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
        struct iov_iter iter;
        ssize_t ret;
 
-       ret = import_iovec(WRITE, vec, vlen, ARRAY_SIZE(iovstack), &iov, &iter);
+       ret = import_iovec(ITER_SOURCE, vec, vlen, ARRAY_SIZE(iovstack), &iov, &iter);
        if (ret >= 0) {
                file_start_write(file);
                ret = do_iter_write(file, &iter, pos, flags);
index 9456a2032224a2d212e49bf7b45c05d1c76a52d4..f5fdaf3b157286d20c5c9c252df7d0885723e2e4 100644 (file)
@@ -156,7 +156,7 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
        ssize_t ret;
 
        init_sync_kiocb(&kiocb, file);
-       iov_iter_init(&iter, READ, &iov, 1, size);
+       iov_iter_init(&iter, ITER_DEST, &iov, 1, size);
 
        kiocb.ki_pos = *ppos;
        ret = seq_read_iter(&kiocb, &iter);
index 0878b852b355caf4fa41e828a67387e2457509c6..5969b7a1d353a8923452415140bfd743b2f188c8 100644 (file)
@@ -303,7 +303,7 @@ ssize_t generic_file_splice_read(struct file *in, loff_t *ppos,
        struct kiocb kiocb;
        int ret;
 
-       iov_iter_pipe(&to, READ, pipe, len);
+       iov_iter_pipe(&to, ITER_DEST, pipe, len);
        init_sync_kiocb(&kiocb, in);
        kiocb.ki_pos = *ppos;
        ret = call_read_iter(in, &kiocb, &to);
@@ -682,7 +682,7 @@ iter_file_splice_write(struct pipe_inode_info *pipe, struct file *out,
                        n++;
                }
 
-               iov_iter_bvec(&from, WRITE, array, n, sd.total_len - left);
+               iov_iter_bvec(&from, ITER_SOURCE, array, n, sd.total_len - left);
                ret = vfs_iter_write(out, &from, &sd.pos, 0);
                if (ret <= 0)
                        break;
@@ -1263,9 +1263,9 @@ static int vmsplice_type(struct fd f, int *type)
        if (!f.file)
                return -EBADF;
        if (f.file->f_mode & FMODE_WRITE) {
-               *type = WRITE;
+               *type = ITER_SOURCE;
        } else if (f.file->f_mode & FMODE_READ) {
-               *type = READ;
+               *type = ITER_DEST;
        } else {
                fdput(f);
                return -EBADF;
@@ -1314,7 +1314,7 @@ SYSCALL_DEFINE4(vmsplice, int, fd, const struct iovec __user *, uiov,
 
        if (!iov_iter_count(&iter))
                error = 0;
-       else if (iov_iter_rw(&iter) == WRITE)
+       else if (type == ITER_SOURCE)
                error = vmsplice_to_pipe(f.file, &iter, flags);
        else
                error = vmsplice_to_user(f.file, &iter, flags);
index 2e3134b14ffd98348a361b1d9aec13041338daf1..87fc3d0dda98fcd906935346c0709dc616fd31b5 100644 (file)
@@ -29,6 +29,9 @@ enum iter_type {
        ITER_UBUF,
 };
 
+#define ITER_SOURCE    1       // == WRITE
+#define ITER_DEST      0       // == READ
+
 struct iov_iter_state {
        size_t iov_offset;
        size_t count;
index ab83da7e80f041f0001e5c8376ffaf521b1c2aac..2818aeefea420cc863fd9b45de829655318ec9d7 100644 (file)
@@ -363,7 +363,7 @@ int io_send(struct io_kiocb *req, unsigned int issue_flags)
        if (unlikely(!sock))
                return -ENOTSOCK;
 
-       ret = import_single_range(WRITE, sr->buf, sr->len, &iov, &msg.msg_iter);
+       ret = import_single_range(ITER_SOURCE, sr->buf, sr->len, &iov, &msg.msg_iter);
        if (unlikely(ret))
                return ret;
 
@@ -449,7 +449,7 @@ static int __io_recvmsg_copy_hdr(struct io_kiocb *req,
                }
        } else {
                iomsg->free_iov = iomsg->fast_iov;
-               ret = __import_iovec(READ, msg.msg_iov, msg.msg_iovlen, UIO_FASTIOV,
+               ret = __import_iovec(ITER_DEST, msg.msg_iov, msg.msg_iovlen, UIO_FASTIOV,
                                     &iomsg->free_iov, &iomsg->msg.msg_iter,
                                     false);
                if (ret > 0)
@@ -501,7 +501,7 @@ static int __io_compat_recvmsg_copy_hdr(struct io_kiocb *req,
                }
        } else {
                iomsg->free_iov = iomsg->fast_iov;
-               ret = __import_iovec(READ, (struct iovec __user *)uiov, msg.msg_iovlen,
+               ret = __import_iovec(ITER_DEST, (struct iovec __user *)uiov, msg.msg_iovlen,
                                   UIO_FASTIOV, &iomsg->free_iov,
                                   &iomsg->msg.msg_iter, true);
                if (ret < 0)
@@ -751,7 +751,7 @@ retry_multishot:
 
                kmsg->fast_iov[0].iov_base = buf;
                kmsg->fast_iov[0].iov_len = len;
-               iov_iter_init(&kmsg->msg.msg_iter, READ, kmsg->fast_iov, 1,
+               iov_iter_init(&kmsg->msg.msg_iter, ITER_DEST, kmsg->fast_iov, 1,
                                len);
        }
 
@@ -845,7 +845,7 @@ retry_multishot:
                sr->buf = buf;
        }
 
-       ret = import_single_range(READ, sr->buf, len, &iov, &msg.msg_iter);
+       ret = import_single_range(ITER_DEST, sr->buf, len, &iov, &msg.msg_iter);
        if (unlikely(ret))
                goto out_free;
 
@@ -1081,13 +1081,13 @@ int io_send_zc(struct io_kiocb *req, unsigned int issue_flags)
                return io_setup_async_addr(req, &__address, issue_flags);
 
        if (zc->flags & IORING_RECVSEND_FIXED_BUF) {
-               ret = io_import_fixed(WRITE, &msg.msg_iter, req->imu,
+               ret = io_import_fixed(ITER_SOURCE, &msg.msg_iter, req->imu,
                                        (u64)(uintptr_t)zc->buf, zc->len);
                if (unlikely(ret))
                        return ret;
                msg.sg_from_iter = io_sg_from_iter;
        } else {
-               ret = import_single_range(WRITE, zc->buf, zc->len, &iov,
+               ret = import_single_range(ITER_SOURCE, zc->buf, zc->len, &iov,
                                          &msg.msg_iter);
                if (unlikely(ret))
                        return ret;
index bb47cc4da713c3000c39ac755df3e27b6560d9d5..fed5570be335b9461af172f960cfd27dc2ea91af 100644 (file)
@@ -548,12 +548,12 @@ static inline int io_rw_prep_async(struct io_kiocb *req, int rw)
 
 int io_readv_prep_async(struct io_kiocb *req)
 {
-       return io_rw_prep_async(req, READ);
+       return io_rw_prep_async(req, ITER_DEST);
 }
 
 int io_writev_prep_async(struct io_kiocb *req)
 {
-       return io_rw_prep_async(req, WRITE);
+       return io_rw_prep_async(req, ITER_SOURCE);
 }
 
 /*
@@ -704,7 +704,7 @@ int io_read(struct io_kiocb *req, unsigned int issue_flags)
        loff_t *ppos;
 
        if (!req_has_async_data(req)) {
-               ret = io_import_iovec(READ, req, &iovec, s, issue_flags);
+               ret = io_import_iovec(ITER_DEST, req, &iovec, s, issue_flags);
                if (unlikely(ret < 0))
                        return ret;
        } else {
@@ -716,7 +716,7 @@ int io_read(struct io_kiocb *req, unsigned int issue_flags)
                 * buffers, as we dropped the selected one before retry.
                 */
                if (io_do_buffer_select(req)) {
-                       ret = io_import_iovec(READ, req, &iovec, s, issue_flags);
+                       ret = io_import_iovec(ITER_DEST, req, &iovec, s, issue_flags);
                        if (unlikely(ret < 0))
                                return ret;
                }
@@ -851,7 +851,7 @@ int io_write(struct io_kiocb *req, unsigned int issue_flags)
        loff_t *ppos;
 
        if (!req_has_async_data(req)) {
-               ret = io_import_iovec(WRITE, req, &iovec, s, issue_flags);
+               ret = io_import_iovec(ITER_SOURCE, req, &iovec, s, issue_flags);
                if (unlikely(ret < 0))
                        return ret;
        } else {
index ae78c2d53c8ad621027f98d057a27248f9ccbe2c..d25b055d23a6d5ff6c5bbe5aa959c804cb81a12a 100644 (file)
@@ -1486,7 +1486,7 @@ static ssize_t user_events_write(struct file *file, const char __user *ubuf,
        if (unlikely(*ppos != 0))
                return -EFAULT;
 
-       if (unlikely(import_single_range(WRITE, (char __user *)ubuf,
+       if (unlikely(import_single_range(ITER_SOURCE, (char __user *)ubuf,
                                         count, &iov, &i)))
                return -EFAULT;
 
index c7105ec6d08c00b9501763165819ad678a4d579d..bc54b806f1a71ceffbdf76b62c629689e2f50134 100644 (file)
@@ -1459,7 +1459,7 @@ SYSCALL_DEFINE5(process_madvise, int, pidfd, const struct iovec __user *, vec,
                goto out;
        }
 
-       ret = import_iovec(READ, vec, vlen, ARRAY_SIZE(iovstack), &iov, &iter);
+       ret = import_iovec(ITER_DEST, vec, vlen, ARRAY_SIZE(iovstack), &iov, &iter);
        if (ret < 0)
                goto out;
 
index 2af34dd8fa4db25fb60ed3c6fcce395eeb407f85..3a5f921b932e82bc7161f7e90c0a898014c582fb 100644 (file)
@@ -376,7 +376,7 @@ void swap_write_unplug(struct swap_iocb *sio)
        struct address_space *mapping = sio->iocb.ki_filp->f_mapping;
        int ret;
 
-       iov_iter_bvec(&from, WRITE, sio->bvec, sio->pages, sio->len);
+       iov_iter_bvec(&from, ITER_SOURCE, sio->bvec, sio->pages, sio->len);
        ret = mapping->a_ops->swap_rw(&sio->iocb, &from);
        if (ret != -EIOCBQUEUED)
                sio_write_complete(&sio->iocb, ret);
@@ -530,7 +530,7 @@ void __swap_read_unplug(struct swap_iocb *sio)
        struct address_space *mapping = sio->iocb.ki_filp->f_mapping;
        int ret;
 
-       iov_iter_bvec(&from, READ, sio->bvec, sio->pages, sio->len);
+       iov_iter_bvec(&from, ITER_DEST, sio->bvec, sio->pages, sio->len);
        ret = mapping->a_ops->swap_rw(&sio->iocb, &from);
        if (ret != -EIOCBQUEUED)
                sio_read_complete(&sio->iocb, ret);
index 4bcc119580890753d27d25807a18ab58b520b002..78dfaf9e8990af2151edc5822ffac7b8ba90f451 100644 (file)
@@ -263,7 +263,7 @@ static ssize_t process_vm_rw(pid_t pid,
        struct iovec *iov_r;
        struct iov_iter iter;
        ssize_t rc;
-       int dir = vm_write ? WRITE : READ;
+       int dir = vm_write ? ITER_SOURCE : ITER_DEST;
 
        if (flags != 0)
                return -EINVAL;
index aaa37b07e30a5c61e6191905dc466a7c0cc0c9df..0638b12055ba4153edb516e62d9668a43d0a7ede 100644 (file)
@@ -2043,7 +2043,7 @@ int p9_client_readdir(struct p9_fid *fid, char *data, u32 count, u64 offset)
        struct kvec kv = {.iov_base = data, .iov_len = count};
        struct iov_iter to;
 
-       iov_iter_kvec(&to, READ, &kv, 1, count);
+       iov_iter_kvec(&to, ITER_DEST, &kv, 1, count);
 
        p9_debug(P9_DEBUG_9P, ">>> TREADDIR fid %d offset %llu count %d\n",
                 fid->fid, offset, count);
index 215af9b3b58955dca8bd9ad0f13264c94315b410..d57b2e3ece2ac87f5e60e4cc411c79fa9abf16e1 100644 (file)
@@ -441,7 +441,7 @@ static int send_pkt(struct l2cap_chan *chan, struct sk_buff *skb,
        iv.iov_len = skb->len;
 
        memset(&msg, 0, sizeof(msg));
-       iov_iter_kvec(&msg.msg_iter, WRITE, &iv, 1, skb->len);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, &iv, 1, skb->len);
 
        err = l2cap_chan_send(chan, &msg, skb->len);
        if (err > 0) {
index 1fcc482397c364052a5b82d842576f60be48c485..e7adb8a98cf90f0d797fed5d6647aaf9b1d6ca5b 100644 (file)
@@ -56,7 +56,7 @@ static void a2mp_send(struct amp_mgr *mgr, u8 code, u8 ident, u16 len, void *dat
 
        memset(&msg, 0, sizeof(msg));
 
-       iov_iter_kvec(&msg.msg_iter, WRITE, &iv, 1, total_len);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, &iv, 1, total_len);
 
        l2cap_chan_send(chan, &msg, total_len);
 
index 11f853d0500ff8c8c79a309a585d00e732b0e287..70663229b3cc92d7576b2893af4de41ae088031c 100644 (file)
@@ -605,7 +605,7 @@ static void smp_send_cmd(struct l2cap_conn *conn, u8 code, u16 len, void *data)
 
        memset(&msg, 0, sizeof(msg));
 
-       iov_iter_kvec(&msg.msg_iter, WRITE, iv, 2, 1 + len);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, iv, 2, 1 + len);
 
        l2cap_chan_send(chan, &msg, 1 + len);
 
index 3ddbde87e4d6e393777becc8ad3fff6c6fbf416a..d1787d7d33ef9a1855c6dbaefcea74d737eaa2e6 100644 (file)
@@ -30,7 +30,7 @@ static int ceph_tcp_recvmsg(struct socket *sock, void *buf, size_t len)
        if (!buf)
                msg.msg_flags |= MSG_TRUNC;
 
-       iov_iter_kvec(&msg.msg_iter, READ, &iov, 1, len);
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, &iov, 1, len);
        r = sock_recvmsg(sock, &msg, msg.msg_flags);
        if (r == -EAGAIN)
                r = 0;
@@ -49,7 +49,7 @@ static int ceph_tcp_recvpage(struct socket *sock, struct page *page,
        int r;
 
        BUG_ON(page_offset + length > PAGE_SIZE);
-       iov_iter_bvec(&msg.msg_iter, READ, &bvec, 1, length);
+       iov_iter_bvec(&msg.msg_iter, ITER_DEST, &bvec, 1, length);
        r = sock_recvmsg(sock, &msg, msg.msg_flags);
        if (r == -EAGAIN)
                r = 0;
index cc8ff81a50b7f1abe3ff4d58d924aa277ace4269..3009028c4fa28f9b12847e1d8a7cd3ef7703d790 100644 (file)
@@ -168,7 +168,7 @@ static int do_try_sendpage(struct socket *sock, struct iov_iter *it)
                                                  bv.bv_offset, bv.bv_len,
                                                  CEPH_MSG_FLAGS);
                } else {
-                       iov_iter_bvec(&msg.msg_iter, WRITE, &bv, 1, bv.bv_len);
+                       iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, &bv, 1, bv.bv_len);
                        ret = sock_sendmsg(sock, &msg);
                }
                if (ret <= 0) {
@@ -225,7 +225,7 @@ static void reset_in_kvecs(struct ceph_connection *con)
        WARN_ON(iov_iter_count(&con->v2.in_iter));
 
        con->v2.in_kvec_cnt = 0;
-       iov_iter_kvec(&con->v2.in_iter, READ, con->v2.in_kvecs, 0, 0);
+       iov_iter_kvec(&con->v2.in_iter, ITER_DEST, con->v2.in_kvecs, 0, 0);
 }
 
 static void set_in_bvec(struct ceph_connection *con, const struct bio_vec *bv)
@@ -233,7 +233,7 @@ static void set_in_bvec(struct ceph_connection *con, const struct bio_vec *bv)
        WARN_ON(iov_iter_count(&con->v2.in_iter));
 
        con->v2.in_bvec = *bv;
-       iov_iter_bvec(&con->v2.in_iter, READ, &con->v2.in_bvec, 1, bv->bv_len);
+       iov_iter_bvec(&con->v2.in_iter, ITER_DEST, &con->v2.in_bvec, 1, bv->bv_len);
 }
 
 static void set_in_skip(struct ceph_connection *con, int len)
@@ -241,7 +241,7 @@ static void set_in_skip(struct ceph_connection *con, int len)
        WARN_ON(iov_iter_count(&con->v2.in_iter));
 
        dout("%s con %p len %d\n", __func__, con, len);
-       iov_iter_discard(&con->v2.in_iter, READ, len);
+       iov_iter_discard(&con->v2.in_iter, ITER_DEST, len);
 }
 
 static void add_out_kvec(struct ceph_connection *con, void *buf, int len)
@@ -265,7 +265,7 @@ static void reset_out_kvecs(struct ceph_connection *con)
 
        con->v2.out_kvec_cnt = 0;
 
-       iov_iter_kvec(&con->v2.out_iter, WRITE, con->v2.out_kvecs, 0, 0);
+       iov_iter_kvec(&con->v2.out_iter, ITER_SOURCE, con->v2.out_kvecs, 0, 0);
        con->v2.out_iter_sendpage = false;
 }
 
@@ -277,7 +277,7 @@ static void set_out_bvec(struct ceph_connection *con, const struct bio_vec *bv,
 
        con->v2.out_bvec = *bv;
        con->v2.out_iter_sendpage = zerocopy;
-       iov_iter_bvec(&con->v2.out_iter, WRITE, &con->v2.out_bvec, 1,
+       iov_iter_bvec(&con->v2.out_iter, ITER_SOURCE, &con->v2.out_bvec, 1,
                      con->v2.out_bvec.bv_len);
 }
 
@@ -290,7 +290,7 @@ static void set_out_bvec_zero(struct ceph_connection *con)
        con->v2.out_bvec.bv_offset = 0;
        con->v2.out_bvec.bv_len = min(con->v2.out_zero, (int)PAGE_SIZE);
        con->v2.out_iter_sendpage = true;
-       iov_iter_bvec(&con->v2.out_iter, WRITE, &con->v2.out_bvec, 1,
+       iov_iter_bvec(&con->v2.out_iter, ITER_SOURCE, &con->v2.out_bvec, 1,
                      con->v2.out_bvec.bv_len);
 }
 
index 385f04a6be2f7a9ef1258619c06c5fdf37b093c5..161b7bea1f6204ff9120a0c2347f6105c8975772 100644 (file)
@@ -95,7 +95,8 @@ int get_compat_msghdr(struct msghdr *kmsg,
        if (err)
                return err;
 
-       err = import_iovec(save_addr ? READ : WRITE, compat_ptr(msg.msg_iov), msg.msg_iovlen,
+       err = import_iovec(save_addr ? ITER_DEST : ITER_SOURCE,
+                          compat_ptr(msg.msg_iov), msg.msg_iovlen,
                           UIO_FASTIOV, iov, &kmsg->msg_iter);
        return err < 0 ? err : 0;
 }
index 54836a6b81d6fa2059f312c753f62ee658bb6b18..01cc5705b146a287f628d67036d914f4bdeca6db 100644 (file)
@@ -2000,7 +2000,7 @@ static int receive_fallback_to_copy(struct sock *sk,
        if (copy_address != zc->copybuf_address)
                return -EINVAL;
 
-       err = import_single_range(READ, (void __user *)copy_address,
+       err = import_single_range(ITER_DEST, (void __user *)copy_address,
                                  inq, &iov, &msg.msg_iter);
        if (err)
                return err;
@@ -2034,7 +2034,7 @@ static int tcp_copy_straggler_data(struct tcp_zerocopy_receive *zc,
        if (copy_address != zc->copybuf_address)
                return -EINVAL;
 
-       err = import_single_range(READ, (void __user *)copy_address,
+       err = import_single_range(ITER_DEST, (void __user *)copy_address,
                                  copylen, &iov, &msg.msg_iter);
        if (err)
                return err;
index a56fd0b5a430af283d02e25a365a49edfd0e4d65..4963fec815da3a6e99a277a84149492b6a7783dd 100644 (file)
@@ -1617,7 +1617,7 @@ ip_vs_receive(struct socket *sock, char *buffer, const size_t buflen)
        EnterFunction(7);
 
        /* Receive a packet */
-       iov_iter_kvec(&msg.msg_iter, READ, &iov, 1, buflen);
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, &iov, 1, buflen);
        len = sock_recvmsg(sock, &msg, MSG_DONTWAIT);
        if (len < 0)
                return len;
index 1472f31480d8b6479e77666c93f19a9a1d51b435..dfb9797f7bc63981eaa3dba55fd3d18e89e80ab7 100644 (file)
@@ -673,7 +673,7 @@ int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen,
         */
        krflags = MSG_PEEK | MSG_WAITALL;
        clc_sk->sk_rcvtimeo = timeout;
-       iov_iter_kvec(&msg.msg_iter, READ, &vec, 1,
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, &vec, 1,
                        sizeof(struct smc_clc_msg_hdr));
        len = sock_recvmsg(smc->clcsock, &msg, krflags);
        if (signal_pending(current)) {
@@ -720,7 +720,7 @@ int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen,
        } else {
                recvlen = datlen;
        }
-       iov_iter_kvec(&msg.msg_iter, READ, &vec, 1, recvlen);
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, &vec, 1, recvlen);
        krflags = MSG_WAITALL;
        len = sock_recvmsg(smc->clcsock, &msg, krflags);
        if (len < recvlen || !smc_clc_msg_hdr_valid(clcm, check_trl)) {
@@ -737,7 +737,7 @@ int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen,
                /* receive remaining proposal message */
                recvlen = datlen > SMC_CLC_RECV_BUF_LEN ?
                                                SMC_CLC_RECV_BUF_LEN : datlen;
-               iov_iter_kvec(&msg.msg_iter, READ, &vec, 1, recvlen);
+               iov_iter_kvec(&msg.msg_iter, ITER_DEST, &vec, 1, recvlen);
                len = sock_recvmsg(smc->clcsock, &msg, krflags);
                datlen -= len;
        }
index 64dedffe9d2697b91ccd3ab09059d995b594ec98..f4b6a71ac488a40e1a36abe4562017fff7e98739 100644 (file)
@@ -308,7 +308,7 @@ int smc_tx_sendpage(struct smc_sock *smc, struct page *page, int offset,
 
        iov.iov_base = kaddr + offset;
        iov.iov_len = size;
-       iov_iter_kvec(&msg.msg_iter, WRITE, &iov, 1, size);
+       iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, &iov, 1, size);
        rc = smc_tx_sendmsg(smc, &msg, size);
        kunmap(page);
        return rc;
index 00da9ce3dba0bf336c07a320c867c4957c6e25c8..73463c7c3702b3bd0490b54e88dffca2cc63bda0 100644 (file)
@@ -750,7 +750,7 @@ EXPORT_SYMBOL(sock_sendmsg);
 int kernel_sendmsg(struct socket *sock, struct msghdr *msg,
                   struct kvec *vec, size_t num, size_t size)
 {
-       iov_iter_kvec(&msg->msg_iter, WRITE, vec, num, size);
+       iov_iter_kvec(&msg->msg_iter, ITER_SOURCE, vec, num, size);
        return sock_sendmsg(sock, msg);
 }
 EXPORT_SYMBOL(kernel_sendmsg);
@@ -776,7 +776,7 @@ int kernel_sendmsg_locked(struct sock *sk, struct msghdr *msg,
        if (!sock->ops->sendmsg_locked)
                return sock_no_sendmsg_locked(sk, msg, size);
 
-       iov_iter_kvec(&msg->msg_iter, WRITE, vec, num, size);
+       iov_iter_kvec(&msg->msg_iter, ITER_SOURCE, vec, num, size);
 
        return sock->ops->sendmsg_locked(sk, msg, msg_data_left(msg));
 }
@@ -1034,7 +1034,7 @@ int kernel_recvmsg(struct socket *sock, struct msghdr *msg,
                   struct kvec *vec, size_t num, size_t size, int flags)
 {
        msg->msg_control_is_user = false;
-       iov_iter_kvec(&msg->msg_iter, READ, vec, num, size);
+       iov_iter_kvec(&msg->msg_iter, ITER_DEST, vec, num, size);
        return sock_recvmsg(sock, msg, flags);
 }
 EXPORT_SYMBOL(kernel_recvmsg);
@@ -2092,7 +2092,7 @@ int __sys_sendto(int fd, void __user *buff, size_t len, unsigned int flags,
        struct iovec iov;
        int fput_needed;
 
-       err = import_single_range(WRITE, buff, len, &iov, &msg.msg_iter);
+       err = import_single_range(ITER_SOURCE, buff, len, &iov, &msg.msg_iter);
        if (unlikely(err))
                return err;
        sock = sockfd_lookup_light(fd, &err, &fput_needed);
@@ -2157,7 +2157,7 @@ int __sys_recvfrom(int fd, void __user *ubuf, size_t size, unsigned int flags,
        int err, err2;
        int fput_needed;
 
-       err = import_single_range(READ, ubuf, size, &iov, &msg.msg_iter);
+       err = import_single_range(ITER_DEST, ubuf, size, &iov, &msg.msg_iter);
        if (unlikely(err))
                return err;
        sock = sockfd_lookup_light(fd, &err, &fput_needed);
@@ -2417,7 +2417,7 @@ static int copy_msghdr_from_user(struct msghdr *kmsg,
        if (err)
                return err;
 
-       err = import_iovec(save_addr ? READ : WRITE,
+       err = import_iovec(save_addr ? ITER_DEST : ITER_SOURCE,
                            msg.msg_iov, msg.msg_iovlen,
                            UIO_FASTIOV, iov, &kmsg->msg_iter);
        return err < 0 ? err : 0;
index 71ba4cf513bcef3c50220db640b4ab35e365925f..1b2b84feeec69fed27ce02756728004837d379d6 100644 (file)
@@ -214,14 +214,14 @@ static inline int xprt_sendmsg(struct socket *sock, struct msghdr *msg,
 static int xprt_send_kvec(struct socket *sock, struct msghdr *msg,
                          struct kvec *vec, size_t seek)
 {
-       iov_iter_kvec(&msg->msg_iter, WRITE, vec, 1, vec->iov_len);
+       iov_iter_kvec(&msg->msg_iter, ITER_SOURCE, vec, 1, vec->iov_len);
        return xprt_sendmsg(sock, msg, seek);
 }
 
 static int xprt_send_pagedata(struct socket *sock, struct msghdr *msg,
                              struct xdr_buf *xdr, size_t base)
 {
-       iov_iter_bvec(&msg->msg_iter, WRITE, xdr->bvec, xdr_buf_pagecount(xdr),
+       iov_iter_bvec(&msg->msg_iter, ITER_SOURCE, xdr->bvec, xdr_buf_pagecount(xdr),
                      xdr->page_len + xdr->page_base);
        return xprt_sendmsg(sock, msg, base + xdr->page_base);
 }
@@ -244,7 +244,7 @@ static int xprt_send_rm_and_kvec(struct socket *sock, struct msghdr *msg,
        };
        size_t len = iov[0].iov_len + iov[1].iov_len;
 
-       iov_iter_kvec(&msg->msg_iter, WRITE, iov, 2, len);
+       iov_iter_kvec(&msg->msg_iter, ITER_SOURCE, iov, 2, len);
        return xprt_sendmsg(sock, msg, base);
 }
 
index 2fc98fea59b4623324e609a896a15f037b7af480..015714398007aef28bcf5957a0994dc7cc5f4f5c 100644 (file)
@@ -260,7 +260,7 @@ static ssize_t svc_tcp_read_msg(struct svc_rqst *rqstp, size_t buflen,
        rqstp->rq_respages = &rqstp->rq_pages[i];
        rqstp->rq_next_page = rqstp->rq_respages + 1;
 
-       iov_iter_bvec(&msg.msg_iter, READ, bvec, i, buflen);
+       iov_iter_bvec(&msg.msg_iter, ITER_DEST, bvec, i, buflen);
        if (seek) {
                iov_iter_advance(&msg.msg_iter, seek);
                buflen -= seek;
@@ -874,7 +874,7 @@ static ssize_t svc_tcp_read_marker(struct svc_sock *svsk,
                want = sizeof(rpc_fraghdr) - svsk->sk_tcplen;
                iov.iov_base = ((char *)&svsk->sk_marker) + svsk->sk_tcplen;
                iov.iov_len  = want;
-               iov_iter_kvec(&msg.msg_iter, READ, &iov, 1, want);
+               iov_iter_kvec(&msg.msg_iter, ITER_DEST, &iov, 1, want);
                len = sock_recvmsg(svsk->sk_sock, &msg, MSG_DONTWAIT);
                if (len < 0)
                        return len;
index 915b9902f673b2ace31daaf86ce532bc0b6523f1..b3ab6d9d752ea7e754678f7e00d03179bd96474e 100644 (file)
@@ -364,7 +364,7 @@ static ssize_t
 xs_read_kvec(struct socket *sock, struct msghdr *msg, int flags,
                struct kvec *kvec, size_t count, size_t seek)
 {
-       iov_iter_kvec(&msg->msg_iter, READ, kvec, 1, count);
+       iov_iter_kvec(&msg->msg_iter, ITER_DEST, kvec, 1, count);
        return xs_sock_recvmsg(sock, msg, flags, seek);
 }
 
@@ -373,7 +373,7 @@ xs_read_bvec(struct socket *sock, struct msghdr *msg, int flags,
                struct bio_vec *bvec, unsigned long nr, size_t count,
                size_t seek)
 {
-       iov_iter_bvec(&msg->msg_iter, READ, bvec, nr, count);
+       iov_iter_bvec(&msg->msg_iter, ITER_DEST, bvec, nr, count);
        return xs_sock_recvmsg(sock, msg, flags, seek);
 }
 
@@ -381,7 +381,7 @@ static ssize_t
 xs_read_discard(struct socket *sock, struct msghdr *msg, int flags,
                size_t count)
 {
-       iov_iter_discard(&msg->msg_iter, READ, count);
+       iov_iter_discard(&msg->msg_iter, ITER_DEST, count);
        return sock_recvmsg(sock, msg, flags);
 }
 
index d92ec92f0b71d94bf1f8f9c791879b0df5ce0dd4..d7166d84a7b2a9051a1ead887da59b085ed36171 100644 (file)
@@ -394,7 +394,7 @@ static int tipc_conn_rcv_from_sock(struct tipc_conn *con)
        iov.iov_base = &s;
        iov.iov_len = sizeof(s);
        msg.msg_name = NULL;
-       iov_iter_kvec(&msg.msg_iter, READ, &iov, 1, iov.iov_len);
+       iov_iter_kvec(&msg.msg_iter, ITER_DEST, &iov, 1, iov.iov_len);
        ret = sock_recvmsg(con->sock, &msg, MSG_DONTWAIT);
        if (ret == -EWOULDBLOCK)
                return -EWOULDBLOCK;
index a03d66046ca328bc885f527d3068c1c88d3ce7c1..6c593788dc250682cabedcf37332e75ee3b6ce66 100644 (file)
@@ -620,7 +620,7 @@ int tls_device_sendpage(struct sock *sk, struct page *page,
        kaddr = kmap(page);
        iov.iov_base = kaddr + offset;
        iov.iov_len = size;
-       iov_iter_kvec(&msg_iter, WRITE, &iov, 1, size);
+       iov_iter_kvec(&msg_iter, ITER_SOURCE, &iov, 1, size);
        iter_offset.msg_iter = &msg_iter;
        rc = tls_push_data(sk, iter_offset, size, flags, TLS_RECORD_TYPE_DATA,
                           NULL);
@@ -697,7 +697,7 @@ static int tls_device_push_pending_record(struct sock *sk, int flags)
        union tls_iter_offset iter;
        struct iov_iter msg_iter;
 
-       iov_iter_kvec(&msg_iter, WRITE, NULL, 0, 0);
+       iov_iter_kvec(&msg_iter, ITER_SOURCE, NULL, 0, 0);
        iter.msg_iter = &msg_iter;
        return tls_push_data(sk, iter, 0, flags, TLS_RECORD_TYPE_DATA, NULL);
 }
index 29a540dcb5a71030a1d65e830e8a48ba3dc630e1..d6fece1ed982dff312469188222235fd5ae293ac 100644 (file)
@@ -354,7 +354,7 @@ static int espintcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
        *((__be16 *)buf) = cpu_to_be16(msglen);
        pfx_iov.iov_base = buf;
        pfx_iov.iov_len = sizeof(buf);
-       iov_iter_kvec(&pfx_iter, WRITE, &pfx_iov, 1, pfx_iov.iov_len);
+       iov_iter_kvec(&pfx_iter, ITER_SOURCE, &pfx_iov, 1, pfx_iov.iov_len);
 
        err = sk_msg_memcopy_from_iter(sk, &pfx_iter, &emsg->skmsg,
                                       pfx_iov.iov_len);
index 96a92a645216de09e1870e93ad0464b09f522078..d54f73c558f721fc29dd0220e175a65208880188 100644 (file)
@@ -1251,7 +1251,7 @@ long keyctl_instantiate_key(key_serial_t id,
                struct iov_iter from;
                int ret;
 
-               ret = import_single_range(WRITE, (void __user *)_payload, plen,
+               ret = import_single_range(ITER_SOURCE, (void __user *)_payload, plen,
                                          &iov, &from);
                if (unlikely(ret))
                        return ret;
@@ -1283,7 +1283,7 @@ long keyctl_instantiate_key_iov(key_serial_t id,
        if (!_payload_iov)
                ioc = 0;
 
-       ret = import_iovec(WRITE, _payload_iov, ioc,
+       ret = import_iovec(ITER_SOURCE, _payload_iov, ioc,
                                    ARRAY_SIZE(iovstack), &iov, &from);
        if (ret < 0)
                return ret;
This page took 0.292164 seconds and 4 git commands to generate.