From nobody Sun Dec 28 22:49:44 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D836EC4167B for ; Mon, 4 Dec 2023 17:48:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230493AbjLDRsb (ORCPT ); Mon, 4 Dec 2023 12:48:31 -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-Google-Smtp-Source: AGHT+IEE0WBXcJ4e710PUdn+lcijnC4gQS2DsbgE+PN5g0/3F1n7D6IcCzGIrOQBPWTKB6fglOXGcQ== 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 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" 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 =3D ITER_DEST; =20 import_single_range(dir, u64_to_user_ptr(io->addr), rq_bytes, - &iov, &iter); + &iter); =20 return ublk_copy_user_pages(req, 0, &iter, dir); } @@ -915,13 +914,12 @@ static int ublk_unmap_io(const struct ublk_queue *ubq, =20 if (ublk_need_unmap_req(req)) { struct iov_iter iter; - struct iovec iov; const int dir =3D ITER_SOURCE; =20 WARN_ON_ONCE(io->res > rq_bytes); =20 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; =20 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; } =20 - ret =3D import_single_range(ITER_DEST, ubuf, len, &iov, &iter); + ret =3D 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; =20 @@ -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 =3D import_single_range(ITER_SOURCE, p, len, &iov, &iter); + ret =3D import_single_range(ITER_SOURCE, p, len, &iter); if (unlikely(ret)) return ret; ret =3D 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 =3D iocb->aio_nbytes; =20 if (!vectored) { - ssize_t ret =3D import_single_range(rw, buf, len, *iovec, iter); + ssize_t ret =3D import_single_range(rw, buf, len, iter); *iovec =3D 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 __u= ser *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= ); =20 static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int directio= n, diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_u= ser.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, str= uct file *file) static ssize_t user_events_write(struct file *file, const char __user *ubu= f, size_t count, loff_t *ppos) { - struct iovec iov; struct iov_iter i; =20 if (unlikely(*ppos !=3D 0)) return -EFAULT; =20 if (unlikely(import_single_range(ITER_SOURCE, (char __user *)ubuf, - count, &iov, &i))) + count, &i))) return -EFAULT; =20 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 __u= ser *uvec, EXPORT_SYMBOL(import_iovec); =20 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 =3D 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 =3D (unsigned long)zc->copybuf_address; struct msghdr msg =3D {}; - struct iovec iov; int err; =20 zc->length =3D 0; @@ -1859,7 +1858,7 @@ static int receive_fallback_to_copy(struct sock *sk, return -EINVAL; =20 err =3D import_single_range(ITER_DEST, (void __user *)copy_address, - inq, &iov, &msg.msg_iter); + inq, &msg.msg_iter); if (err) return err; =20 @@ -1886,14 +1885,13 @@ static int tcp_copy_straggler_data(struct tcp_zeroc= opy_receive *zc, { unsigned long copy_address =3D (unsigned long)zc->copybuf_address; struct msghdr msg =3D {}; - struct iovec iov; int err; =20 if (copy_address !=3D zc->copybuf_address) return -EINVAL; =20 err =3D import_single_range(ITER_DEST, (void __user *)copy_address, - copylen, &iov, &msg.msg_iter); + copylen, &msg.msg_iter); if (err) return err; err =3D 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 l= en, unsigned int flags, struct sockaddr_storage address; int err; struct msghdr msg; - struct iovec iov; int fput_needed; =20 - err =3D import_single_range(ITER_SOURCE, buff, len, &iov, &msg.msg_iter); + err =3D import_single_range(ITER_SOURCE, buff, len, &msg.msg_iter); if (unlikely(err)) return err; sock =3D 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 =3D addr ? (struct sockaddr *)&address : NULL, }; struct socket *sock; - struct iovec iov; int err, err2; int fput_needed; =20 - err =3D import_single_range(ITER_DEST, ubuf, size, &iov, &msg.msg_iter); + err =3D import_single_range(ITER_DEST, ubuf, size, &msg.msg_iter); if (unlikely(err)) return err; sock =3D 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; =20 ret =3D import_single_range(ITER_SOURCE, (void __user *)_payload, plen, - &iov, &from); + &from); if (unlikely(ret)) return ret; =20 --=20 2.42.0 From nobody Sun Dec 28 22:49:44 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1DDA2C4167B for ; Mon, 4 Dec 2023 17:48:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231156AbjLDRsi (ORCPT ); Mon, 4 Dec 2023 12:48:38 -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-Google-Smtp-Source: AGHT+IFwwDT3dr17ePNHc3E+3xSrdIz18L6eQUk3Fg9nNq0+KGjvlZav4WVn/0HnBS3ScCibRl1xTQ== 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 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" 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, co= nst struct request *req, struct iov_iter iter; const int dir =3D ITER_DEST; =20 - 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, =20 WARN_ON_ONCE(io->res > rq_bytes); =20 - 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; } =20 - ret =3D import_single_range(ITER_DEST, ubuf, len, &iter); + ret =3D 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 =3D import_single_range(ITER_SOURCE, p, len, &iter); + ret =3D import_ubuf(ITER_SOURCE, p, len, &iter); if (unlikely(ret)) return ret; ret =3D 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 =3D iocb->aio_nbytes; =20 if (!vectored) { - ssize_t ret =3D import_single_range(rw, buf, len, iter); + ssize_t ret =3D import_ubuf(rw, buf, len, iter); *iovec =3D 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 __use= r *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= ); =20 static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int directio= n, diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_u= ser.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, c= onst char __user *ubuf, if (unlikely(*ppos !=3D 0)) return -EFAULT; =20 - 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; =20 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); =20 -int import_single_range(int rw, void __user *buf, size_t len, - struct iov_iter *i) -{ - if (len > MAX_RW_COUNT) - len =3D 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 !=3D zc->copybuf_address) return -EINVAL; =20 - err =3D import_single_range(ITER_DEST, (void __user *)copy_address, - inq, &msg.msg_iter); + err =3D import_ubuf(ITER_DEST, (void __user *)copy_address, inq, + &msg.msg_iter); if (err) return err; =20 @@ -1890,8 +1890,8 @@ static int tcp_copy_straggler_data(struct tcp_zerocop= y_receive *zc, if (copy_address !=3D zc->copybuf_address) return -EINVAL; =20 - err =3D import_single_range(ITER_DEST, (void __user *)copy_address, - copylen, &msg.msg_iter); + err =3D import_ubuf(ITER_DEST, (void __user *)copy_address, copylen, + &msg.msg_iter); if (err) return err; err =3D 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 le= n, unsigned int flags, struct msghdr msg; int fput_needed; =20 - err =3D import_single_range(ITER_SOURCE, buff, len, &msg.msg_iter); + err =3D import_ubuf(ITER_SOURCE, buff, len, &msg.msg_iter); if (unlikely(err)) return err; sock =3D 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; =20 - err =3D import_single_range(ITER_DEST, ubuf, size, &msg.msg_iter); + err =3D import_ubuf(ITER_DEST, ubuf, size, &msg.msg_iter); if (unlikely(err)) return err; sock =3D 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; =20 - ret =3D import_single_range(ITER_SOURCE, (void __user *)_payload, plen, - &from); + ret =3D import_ubuf(ITER_SOURCE, (void __user *)_payload, plen, + &from); if (unlikely(ret)) return ret; =20 --=20 2.42.0