From patchwork Mon Dec 4 17:47:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Axboe X-Patchwork-Id: 173487 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp2928656vqy; Mon, 4 Dec 2023 09:48:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IH+HRTOPG6E7pRH5wVsr6yd6tHq0/voZw1UwWE5uXl7ws2R+2auC5mTEzSPy/1+409o+kuQ X-Received: by 2002:a05:6a20:8f98:b0:18c:3b26:13c with SMTP id k24-20020a056a208f9800b0018c3b26013cmr4212455pzj.12.1701712124558; Mon, 04 Dec 2023 09:48:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701712124; cv=none; d=google.com; s=arc-20160816; b=J+KSfR3rbou65yO9PhysH4WQ4Zg06wC3FfJlupnXLRw9/mb4V9yZKJqsKJesXjZKtH qpM0kaWpaZg+tRb1tTY+jP+0okWHC6nxa5tKzs7DXG0kaYVnOXdO1IiXa5kmEEfzSiU6 QZ8YbBmiB2n9KpMDn60YOEEf0NdTWsfHPEm8SYxCWGzyPkTje6TUlY8u5oPgtWjivHiD 3dxLvaT3UBj2jMbkjEhkDbWDc4CjUKyqAxnTcUZg4t5ezriPtQdcpwFazurEai8DIvl6 eNbG0E/t9+kIutVtw+/6zp7zGKKPTzqK2JWS2phFRAGCbSbEn3CQp4emrDg1qxop5IG0 5lHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=FlymwK1jk1jFV3VCFiRQli/4cvIfOna4saXXrG5eqCA=; fh=sQJGxM/IU55i/QXenRQZTFfhbJirzDA14Pxa78TpjL0=; b=Mo1eW5vCkyrts4C3RwkmXNz3NoxfUxPvsI1g0NWilj+EvVjP/Ff38D5Y57yM3m8DHQ FpirckcW6PwJdYW9P4UwXTfRZM+sTAu2Px+ygd9bFB21rnjlFWYpjiyx/FzM78JBDGEc lUdZk/cISmnpizqd4+jk+nqHgunI0EPgJ6vygQxmOSekqmoIJ/p0PUTbbFxNgMtNpRCu TAJpsZmVZwTZUbwFAb3KwC02uDeHAoyjjn4M9f9HJDVWi5xvroSBBRgYqXfrnlQ7HDV+ lEz/hhzLC2gDDx5wqtIaWiu3DIQRYT3GNLfCHC1sDhWv9hBv78bFp6eKRAXoMe91kVOB gSmg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=mq2W6awp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id q8-20020a63f948000000b005bd335981e2si1727174pgk.678.2023.12.04.09.48.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 09:48:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=mq2W6awp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id C9E0E80C619E; Mon, 4 Dec 2023 09:48:41 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230478AbjLDRsa (ORCPT + 99 others); Mon, 4 Dec 2023 12:48:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44990 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230426AbjLDRs2 (ORCPT ); Mon, 4 Dec 2023 12:48:28 -0500 Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8E14FA for ; Mon, 4 Dec 2023 09:48:34 -0800 (PST) Received: by mail-qt1-x833.google.com with SMTP id d75a77b69052e-420210e3b7dso3515851cf.0 for ; Mon, 04 Dec 2023 09:48:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1701712113; x=1702316913; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FlymwK1jk1jFV3VCFiRQli/4cvIfOna4saXXrG5eqCA=; b=mq2W6awpsGMCC4QQT/cV5B7mGmDfgbR7amQLrTjE6yRPoekv7JyVaYRF09RUEjPEoT +vhYvYfHNkkc3pQ1IZx+ezVdNwwAMLtyFUPxDhBqrXx8yxo/CvI7E2VmmWsnIvi3ilQ+ 3OocCG+TCcssFSFqC/twIVZfLFf8tgb1FIQhbJRT7RWsGrKSvvaks5xUg/biHd+POeNB wp+hPnUztkMq0UUBBj2u6YesUccVcX7HBbRjatSAPSnkF9di39P5FsuhcpgTpGv/3613 58QXASizNWURKwuoXt+IBqLiEzijIiyEg/YjE5giYTsF3Wi+aq83aqKAmvOIoGUkqZyU QkCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701712113; x=1702316913; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FlymwK1jk1jFV3VCFiRQli/4cvIfOna4saXXrG5eqCA=; b=ALuexRDp0JjqZFUDXUv+N+W2a9Aauw66qEuMIpvxRHKB8njPszyGottx6sTe4LlhK3 6uQeMmOvEnRXwF2RKKDProC6Yn1UAjkySgHriYlveqlS1WGk0hZGGGjcEtVLqGtmKA7b VKTDiQpAo6QHjJegRzR38z/XQFkQJArc4A/k+I4D+ZWHLBjKQZj0ZN83jG2xOBKg2grf 8FlYatj6Nsa7UPbdTobNNYKGvQLrAEHbtkwxfiwHiy80OrZeHNNQ/bFf8BLSG1coTCEL bk23jGaaYZq86Dx7YSv3b9dVuelyMprurrdbus2pFuEFyaZ7DQoWK5PsuEjPS2P6JXIE cWTg== X-Gm-Message-State: AOJu0YxIHOYp2C7hI989zXlFn2Hj9A/uQ3tAKc5O9vWSv2okKHDDi3/9 kbCjrjhdw1RQ/iKcisK9eyi0XefTGNgByVwA1m00ww== X-Received: by 2002:ac8:5d8c:0:b0:423:75a2:330f with SMTP id d12-20020ac85d8c000000b0042375a2330fmr36563842qtx.2.1701712113395; Mon, 04 Dec 2023 09:48:33 -0800 (PST) Received: from m2max.tfbnw.net ([2620:10d:c091:400::5:2355]) by smtp.gmail.com with ESMTPSA id hg15-20020a05622a610f00b00424059fe96esm3670981qtb.89.2023.12.04.09.48.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 09:48:32 -0800 (PST) From: Jens Axboe To: linux-kernel@vger.kernel.org Cc: viro@zeniv.linux.org.uk, brauner@kernel.org, Jens Axboe Subject: [PATCH 1/2] iov_iter: remove unused 'iov' argument from import_single_range() Date: Mon, 4 Dec 2023 10:47:49 -0700 Message-ID: <20231204174827.1258875-2-axboe@kernel.dk> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231204174827.1258875-1-axboe@kernel.dk> References: <20231204174827.1258875-1-axboe@kernel.dk> MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Mon, 04 Dec 2023 09:48:41 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784374492584340795 X-GMAIL-MSGID: 1784374492584340795 It is entirely unused, just get rid of it. Signed-off-by: Jens Axboe --- drivers/block/ublk_drv.c | 6 ++---- drivers/char/random.c | 6 ++---- fs/aio.c | 2 +- include/linux/uio.h | 2 +- kernel/trace/trace_events_user.c | 3 +-- lib/iov_iter.c | 2 +- net/ipv4/tcp.c | 6 ++---- net/socket.c | 6 ++---- security/keys/keyctl.c | 3 +-- 9 files changed, 13 insertions(+), 23 deletions(-) diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c index 83600b45e12a..5656b0a1233d 100644 --- a/drivers/block/ublk_drv.c +++ b/drivers/block/ublk_drv.c @@ -893,11 +893,10 @@ static int ublk_map_io(const struct ublk_queue *ubq, const struct request *req, */ if (ublk_need_map_req(req)) { struct iov_iter iter; - struct iovec iov; const int dir = ITER_DEST; import_single_range(dir, u64_to_user_ptr(io->addr), rq_bytes, - &iov, &iter); + &iter); return ublk_copy_user_pages(req, 0, &iter, dir); } @@ -915,13 +914,12 @@ static int ublk_unmap_io(const struct ublk_queue *ubq, if (ublk_need_unmap_req(req)) { struct iov_iter iter; - struct iovec iov; const int dir = ITER_SOURCE; WARN_ON_ONCE(io->res > rq_bytes); import_single_range(dir, u64_to_user_ptr(io->addr), io->res, - &iov, &iter); + &iter); return ublk_copy_user_pages(req, 0, &iter, dir); } return rq_bytes; diff --git a/drivers/char/random.c b/drivers/char/random.c index 4a9c79391dee..e79ae238b30d 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1364,7 +1364,6 @@ static void __cold try_to_generate_entropy(void) SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags) { struct iov_iter iter; - struct iovec iov; int ret; if (flags & ~(GRND_NONBLOCK | GRND_RANDOM | GRND_INSECURE)) @@ -1385,7 +1384,7 @@ SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags return ret; } - ret = import_single_range(ITER_DEST, ubuf, len, &iov, &iter); + ret = import_single_range(ITER_DEST, ubuf, len, &iter); if (unlikely(ret)) return ret; return get_random_bytes_user(&iter); @@ -1491,7 +1490,6 @@ static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg) return 0; case RNDADDENTROPY: { struct iov_iter iter; - struct iovec iov; ssize_t ret; int len; @@ -1503,7 +1501,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(ITER_SOURCE, p, len, &iov, &iter); + ret = import_single_range(ITER_SOURCE, p, len, &iter); if (unlikely(ret)) return ret; ret = write_pool_user(&iter); diff --git a/fs/aio.c b/fs/aio.c index f8589caef9c1..251eeaef7fbf 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1498,7 +1498,7 @@ static ssize_t aio_setup_rw(int rw, const struct iocb *iocb, size_t len = iocb->aio_nbytes; if (!vectored) { - ssize_t ret = import_single_range(rw, buf, len, *iovec, iter); + ssize_t ret = import_single_range(rw, buf, len, iter); *iovec = NULL; return ret; } diff --git a/include/linux/uio.h b/include/linux/uio.h index b6214cbf2a43..bfafd3542fa7 100644 --- a/include/linux/uio.h +++ b/include/linux/uio.h @@ -348,7 +348,7 @@ ssize_t __import_iovec(int type, const struct iovec __user *uvec, unsigned nr_segs, unsigned fast_segs, struct iovec **iovp, struct iov_iter *i, bool compat); int import_single_range(int type, void __user *buf, size_t len, - struct iovec *iov, struct iov_iter *i); + struct iov_iter *i); int import_ubuf(int type, void __user *buf, size_t len, struct iov_iter *i); static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int direction, diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c index 9365ce407426..4efc75d90a0d 100644 --- a/kernel/trace/trace_events_user.c +++ b/kernel/trace/trace_events_user.c @@ -2177,14 +2177,13 @@ static int user_events_open(struct inode *node, struct file *file) static ssize_t user_events_write(struct file *file, const char __user *ubuf, size_t count, loff_t *ppos) { - struct iovec iov; struct iov_iter i; if (unlikely(*ppos != 0)) return -EFAULT; if (unlikely(import_single_range(ITER_SOURCE, (char __user *)ubuf, - count, &iov, &i))) + count, &i))) return -EFAULT; return user_events_write_core(file, &i); diff --git a/lib/iov_iter.c b/lib/iov_iter.c index de7d11cf4c63..d60c73354e1f 100644 --- a/lib/iov_iter.c +++ b/lib/iov_iter.c @@ -1370,7 +1370,7 @@ ssize_t import_iovec(int type, const struct iovec __user *uvec, EXPORT_SYMBOL(import_iovec); int import_single_range(int rw, void __user *buf, size_t len, - struct iovec *iov, struct iov_iter *i) + struct iov_iter *i) { if (len > MAX_RW_COUNT) len = MAX_RW_COUNT; diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 53bcc17c91e4..57cf3adb191a 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1849,7 +1849,6 @@ static int receive_fallback_to_copy(struct sock *sk, { unsigned long copy_address = (unsigned long)zc->copybuf_address; struct msghdr msg = {}; - struct iovec iov; int err; zc->length = 0; @@ -1859,7 +1858,7 @@ static int receive_fallback_to_copy(struct sock *sk, return -EINVAL; err = import_single_range(ITER_DEST, (void __user *)copy_address, - inq, &iov, &msg.msg_iter); + inq, &msg.msg_iter); if (err) return err; @@ -1886,14 +1885,13 @@ static int tcp_copy_straggler_data(struct tcp_zerocopy_receive *zc, { unsigned long copy_address = (unsigned long)zc->copybuf_address; struct msghdr msg = {}; - struct iovec iov; int err; if (copy_address != zc->copybuf_address) return -EINVAL; err = import_single_range(ITER_DEST, (void __user *)copy_address, - copylen, &iov, &msg.msg_iter); + copylen, &msg.msg_iter); if (err) return err; err = skb_copy_datagram_msg(skb, *offset, &msg, copylen); diff --git a/net/socket.c b/net/socket.c index 3379c64217a4..1f0d0e8d0a50 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2161,10 +2161,9 @@ int __sys_sendto(int fd, void __user *buff, size_t len, unsigned int flags, struct sockaddr_storage address; int err; struct msghdr msg; - struct iovec iov; int fput_needed; - err = import_single_range(ITER_SOURCE, buff, len, &iov, &msg.msg_iter); + err = import_single_range(ITER_SOURCE, buff, len, &msg.msg_iter); if (unlikely(err)) return err; sock = sockfd_lookup_light(fd, &err, &fput_needed); @@ -2226,11 +2225,10 @@ int __sys_recvfrom(int fd, void __user *ubuf, size_t size, unsigned int flags, .msg_name = addr ? (struct sockaddr *)&address : NULL, }; struct socket *sock; - struct iovec iov; int err, err2; int fput_needed; - err = import_single_range(ITER_DEST, ubuf, size, &iov, &msg.msg_iter); + err = import_single_range(ITER_DEST, ubuf, size, &msg.msg_iter); if (unlikely(err)) return err; sock = sockfd_lookup_light(fd, &err, &fput_needed); diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c index 19be69fa4d05..193df7ca3ca8 100644 --- a/security/keys/keyctl.c +++ b/security/keys/keyctl.c @@ -1252,12 +1252,11 @@ long keyctl_instantiate_key(key_serial_t id, key_serial_t ringid) { if (_payload && plen) { - struct iovec iov; struct iov_iter from; int ret; ret = import_single_range(ITER_SOURCE, (void __user *)_payload, plen, - &iov, &from); + &from); if (unlikely(ret)) return ret; From patchwork Mon Dec 4 17:47:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Axboe X-Patchwork-Id: 173488 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp2928725vqy; Mon, 4 Dec 2023 09:48:51 -0800 (PST) X-Google-Smtp-Source: AGHT+IH7InsCnyUXwbROi1q55ui1vFnOc/dQJ1Ga9TwNb2hH5wRvK7CnZMqP3TJrm3/1IAmMzVlj X-Received: by 2002:a05:6a21:32a0:b0:18f:97c:5b78 with SMTP id yt32-20020a056a2132a000b0018f097c5b78mr1792179pzb.70.1701712130967; Mon, 04 Dec 2023 09:48:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701712130; cv=none; d=google.com; s=arc-20160816; b=E4rBalMmL4c9wzMR6YPiCpUOKryODGbzw5Q+6zZxfIRrloOmqiajYHAxEyoeycQjZj T6/VkkES3SdxQimS7zj5Y7sY70pp05t4ua82dyO3NtXLwDC0I4YcuA8yLq/gXbzX1P7Z AV6fntSXGPCBXUEoZO/edvinGiZl/quUsjUO5de28SucyXt2lKy2ZpYAJuYi866tTPSD AczDOG/VW18l44vtqkiO0xZJkdnW18GsgkHPwvnFIhUCkDsFa0m0FAzBw2qtUcMISg0a wVScBO2js2kCMBwmi4rXmR59/etUn9Rxj5Vb5BMFroDvX1EwsNv0BesCNuJrYVNQxqTp 5Cxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=wcVLusmLSrs9AkT8FMUp6dSDeCayjrBTTW9J6mB7iK0=; fh=sQJGxM/IU55i/QXenRQZTFfhbJirzDA14Pxa78TpjL0=; b=via9zyjM43qYhcqsMA4S1AUNocLlqoHtM0GwTuZrHCQTQqZudfCZItnsAwtYgG7sJe 9Fl70jeg1X2tqtgTHkF8tKArk75sAoYIT7vl0Up7v/1nPUD0ehLINZ08DTmWuflzinyh sUTIbsi8Iguj76UigmnJV6v0VDE3aMsWQZVr3Oe7OsZxhpU3pXZhEZNNu/744h3gkVp8 5wpyhQ0r0rZRvHQEaK8gdqrilris10OTFxT4nKFTFNzKbmNaGkYv2Za3+8cWlUXlwwZW ANaVD9pOHYHbBs0A0r4yLB/Ldk7E4HA+2ROMLl6tu8rNSXRVsCD+hVIY8x5bwi4mVS7j AxHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b="p7JV8Y/c"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id y15-20020a056a00180f00b006cddfbc6095si2692238pfa.26.2023.12.04.09.48.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 09:48:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b="p7JV8Y/c"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id ECFB380AC591; Mon, 4 Dec 2023 09:48:49 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231367AbjLDRsg (ORCPT + 99 others); Mon, 4 Dec 2023 12:48:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44994 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230480AbjLDRsa (ORCPT ); Mon, 4 Dec 2023 12:48:30 -0500 Received: from mail-ot1-x32f.google.com (mail-ot1-x32f.google.com [IPv6:2607:f8b0:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 822F8E6 for ; Mon, 4 Dec 2023 09:48:36 -0800 (PST) Received: by mail-ot1-x32f.google.com with SMTP id 46e09a7af769-6d7f68b059fso346107a34.1 for ; Mon, 04 Dec 2023 09:48:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1701712115; x=1702316915; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wcVLusmLSrs9AkT8FMUp6dSDeCayjrBTTW9J6mB7iK0=; b=p7JV8Y/caMj/APmX9TQww3gp1MqcfKw640XWFOTITkrvHvKPlsJSEgDTGGu+RhcFQK p9AJxipdLG4lfrjwRGPXAQpPup50BgTFtJLtX6JUK34QTchhzA6PqFuh7VVjhyhYOv7U qp8DvyqX212vmtK2mBhcIOywjYRtSyk/BFpiQoiI6xrSNqYBcEDvusqab0aRemETWEiM 5IGO1bwHFx65NbzFXMwNdotjIyVCRaFOleDCKpmSAp1D8Ij6na/yfJiutaXRwTPQvUDC CrZ0Fk12YEA2f1+3fZSu3CcvKCpLJQeQJ6jOCrqnRKLwpxxH+qCHqysPgfepWgubSg/I Owdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701712115; x=1702316915; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wcVLusmLSrs9AkT8FMUp6dSDeCayjrBTTW9J6mB7iK0=; b=SkHqXLN9q7VlLkiRd3ZOFMByChB6ocwuiFBBGQVICRwz3PExgD2ATjpBKWAmwPkGy9 IzdTTU6pDTTi6FdOiXd9YRcAhxQZaAxoHznt95+ivkqbTiCB4nAxXAUboc5zUCSZ063Z biySJEhdbYnb8IfBjyWOPvqrmkRdq8PPWOELhLLapNj94HV11Q8vrFP+47fj6ARm7dVK BFzGRckW68p0sxNgw4yDZH+i7W0+K0Paowg3yPt7gQo09NEjDBl+lBTw521K55b9TPXT ZIlimawHc6bDrYPGPU9rPQ4Wk00mmt5JsNtlYuAixQnVV5OObWi+SyGfRD08fWLYRl6z l33w== X-Gm-Message-State: AOJu0YyoLniAe4LXT9VEuTPfBVzDje7X09XR2bP6NYF9ylkvEzWdXUw7 KGa+TsoDByro07mJXLAYWCN+iKUCr5JAo7BxvbaFGg== X-Received: by 2002:a05:6830:1b6a:b0:6d8:7e05:8e27 with SMTP id d10-20020a0568301b6a00b006d87e058e27mr7223708ote.3.1701712115402; Mon, 04 Dec 2023 09:48:35 -0800 (PST) Received: from m2max.tfbnw.net ([2620:10d:c091:400::5:2355]) by smtp.gmail.com with ESMTPSA id hg15-20020a05622a610f00b00424059fe96esm3670981qtb.89.2023.12.04.09.48.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 09:48:34 -0800 (PST) From: Jens Axboe To: linux-kernel@vger.kernel.org Cc: viro@zeniv.linux.org.uk, brauner@kernel.org, Jens Axboe Subject: [PATCH 2/2] iov_iter: replace import_single_range() with import_ubuf() Date: Mon, 4 Dec 2023 10:47:50 -0700 Message-ID: <20231204174827.1258875-3-axboe@kernel.dk> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231204174827.1258875-1-axboe@kernel.dk> References: <20231204174827.1258875-1-axboe@kernel.dk> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 04 Dec 2023 09:48:50 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784374499493795806 X-GMAIL-MSGID: 1784374499493795806 With the removal of the 'iov' argument to import_single_range(), the two functions are now fully identical. Convert the import_single_range() callers to import_ubuf(), and remove the former fully. Signed-off-by: Jens Axboe --- drivers/block/ublk_drv.c | 7 ++----- drivers/char/random.c | 4 ++-- fs/aio.c | 2 +- include/linux/uio.h | 2 -- kernel/trace/trace_events_user.c | 3 +-- lib/iov_iter.c | 13 ------------- net/ipv4/tcp.c | 8 ++++---- net/socket.c | 4 ++-- security/keys/keyctl.c | 4 ++-- 9 files changed, 14 insertions(+), 33 deletions(-) diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c index 5656b0a1233d..3eaf02ebeebe 100644 --- a/drivers/block/ublk_drv.c +++ b/drivers/block/ublk_drv.c @@ -895,9 +895,7 @@ static int ublk_map_io(const struct ublk_queue *ubq, const struct request *req, struct iov_iter iter; const int dir = ITER_DEST; - import_single_range(dir, u64_to_user_ptr(io->addr), rq_bytes, - &iter); - + import_ubuf(dir, u64_to_user_ptr(io->addr), rq_bytes, &iter); return ublk_copy_user_pages(req, 0, &iter, dir); } return rq_bytes; @@ -918,8 +916,7 @@ static int ublk_unmap_io(const struct ublk_queue *ubq, WARN_ON_ONCE(io->res > rq_bytes); - import_single_range(dir, u64_to_user_ptr(io->addr), io->res, - &iter); + import_ubuf(dir, u64_to_user_ptr(io->addr), io->res, &iter); return ublk_copy_user_pages(req, 0, &iter, dir); } return rq_bytes; diff --git a/drivers/char/random.c b/drivers/char/random.c index e79ae238b30d..456be28ba67c 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1384,7 +1384,7 @@ SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags return ret; } - ret = import_single_range(ITER_DEST, ubuf, len, &iter); + ret = import_ubuf(ITER_DEST, ubuf, len, &iter); if (unlikely(ret)) return ret; return get_random_bytes_user(&iter); @@ -1501,7 +1501,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(ITER_SOURCE, p, len, &iter); + ret = import_ubuf(ITER_SOURCE, p, len, &iter); if (unlikely(ret)) return ret; ret = write_pool_user(&iter); diff --git a/fs/aio.c b/fs/aio.c index 251eeaef7fbf..4ea639509d41 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1498,7 +1498,7 @@ static ssize_t aio_setup_rw(int rw, const struct iocb *iocb, size_t len = iocb->aio_nbytes; if (!vectored) { - ssize_t ret = import_single_range(rw, buf, len, iter); + ssize_t ret = import_ubuf(rw, buf, len, iter); *iovec = NULL; return ret; } diff --git a/include/linux/uio.h b/include/linux/uio.h index bfafd3542fa7..bea9c89922d9 100644 --- a/include/linux/uio.h +++ b/include/linux/uio.h @@ -347,8 +347,6 @@ ssize_t import_iovec(int type, const struct iovec __user *uvec, ssize_t __import_iovec(int type, const struct iovec __user *uvec, unsigned nr_segs, unsigned fast_segs, struct iovec **iovp, struct iov_iter *i, bool compat); -int import_single_range(int type, void __user *buf, size_t len, - struct iov_iter *i); int import_ubuf(int type, void __user *buf, size_t len, struct iov_iter *i); static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int direction, diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c index 4efc75d90a0d..e76f5e1efdf2 100644 --- a/kernel/trace/trace_events_user.c +++ b/kernel/trace/trace_events_user.c @@ -2182,8 +2182,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(ITER_SOURCE, (char __user *)ubuf, - count, &i))) + if (unlikely(import_ubuf(ITER_SOURCE, (char __user *)ubuf, count, &i))) return -EFAULT; return user_events_write_core(file, &i); diff --git a/lib/iov_iter.c b/lib/iov_iter.c index d60c73354e1f..009875bc95aa 100644 --- a/lib/iov_iter.c +++ b/lib/iov_iter.c @@ -1369,19 +1369,6 @@ ssize_t import_iovec(int type, const struct iovec __user *uvec, } EXPORT_SYMBOL(import_iovec); -int import_single_range(int rw, void __user *buf, size_t len, - struct iov_iter *i) -{ - if (len > MAX_RW_COUNT) - len = MAX_RW_COUNT; - if (unlikely(!access_ok(buf, len))) - return -EFAULT; - - iov_iter_ubuf(i, rw, buf, len); - return 0; -} -EXPORT_SYMBOL(import_single_range); - int import_ubuf(int rw, void __user *buf, size_t len, struct iov_iter *i) { if (len > MAX_RW_COUNT) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 57cf3adb191a..54d3c762d400 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1857,8 +1857,8 @@ static int receive_fallback_to_copy(struct sock *sk, if (copy_address != zc->copybuf_address) return -EINVAL; - err = import_single_range(ITER_DEST, (void __user *)copy_address, - inq, &msg.msg_iter); + err = import_ubuf(ITER_DEST, (void __user *)copy_address, inq, + &msg.msg_iter); if (err) return err; @@ -1890,8 +1890,8 @@ static int tcp_copy_straggler_data(struct tcp_zerocopy_receive *zc, if (copy_address != zc->copybuf_address) return -EINVAL; - err = import_single_range(ITER_DEST, (void __user *)copy_address, - copylen, &msg.msg_iter); + err = import_ubuf(ITER_DEST, (void __user *)copy_address, copylen, + &msg.msg_iter); if (err) return err; err = skb_copy_datagram_msg(skb, *offset, &msg, copylen); diff --git a/net/socket.c b/net/socket.c index 1f0d0e8d0a50..5d49ae0c1b79 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2163,7 +2163,7 @@ int __sys_sendto(int fd, void __user *buff, size_t len, unsigned int flags, struct msghdr msg; int fput_needed; - err = import_single_range(ITER_SOURCE, buff, len, &msg.msg_iter); + err = import_ubuf(ITER_SOURCE, buff, len, &msg.msg_iter); if (unlikely(err)) return err; sock = sockfd_lookup_light(fd, &err, &fput_needed); @@ -2228,7 +2228,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(ITER_DEST, ubuf, size, &msg.msg_iter); + err = import_ubuf(ITER_DEST, ubuf, size, &msg.msg_iter); if (unlikely(err)) return err; sock = sockfd_lookup_light(fd, &err, &fput_needed); diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c index 193df7ca3ca8..10ba439968f7 100644 --- a/security/keys/keyctl.c +++ b/security/keys/keyctl.c @@ -1255,8 +1255,8 @@ long keyctl_instantiate_key(key_serial_t id, struct iov_iter from; int ret; - ret = import_single_range(ITER_SOURCE, (void __user *)_payload, plen, - &from); + ret = import_ubuf(ITER_SOURCE, (void __user *)_payload, plen, + &from); if (unlikely(ret)) return ret;