From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB17B17555 for <io-uring@vger.kernel.org>; Wed, 2 Apr 2025 21:15:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743628525; cv=none; b=Z/kFFuAWMHYvTMvBTEDSPv0iBn9ZV95W1QBWit6gtvIogkWL64XUn3pTLCSwouBOHEtqhyzr/Iswy7Bme7Cea55D7uC2aj/oV2QSYFTToNj9VBg6m9zrh5zP7Z9ARHbLsgdcoDs3PxU1W5uHiJDRIPLKPO5HqoGOkU/CXQCxJ3A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743628525; c=relaxed/simple; bh=yMtg/5bd9WuFFPh1QUVVbVzPyQ8PxgEFM//QPDYEqaE=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=j6G3oGi8sdg6BfRHCGIY5UnObKQX9sdNhQH8DdYLuBh/RA5DlvkLvPpp7C12vLFtyTvi/eoYTbenaZBgbOS7DfJAjTP+Y0QI8RxbQGOlS3MRorU3NER3DP/2Rkm3iwoP85uSTcMZjH4Pym6JMDJ7UX7b84b4BW/IYCqBvk7JjQo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org; spf=pass smtp.mailfrom=linuxfoundation.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=DLroJ9oh; arc=none smtp.client-ip=209.85.218.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linuxfoundation.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="DLroJ9oh" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-ac298c8fa50so36488966b.1 for <io-uring@vger.kernel.org>; Wed, 02 Apr 2025 14:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1743628522; x=1744233322; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=6vOkaWbZeGW9ejcyKHqKRgGRaPzQmhuks1cZQp6R9ag=; b=DLroJ9ohyKCeOjAwsfneUVGiGSfAMsBcJrE/VM6gf+oHpBmozL+86xHGn4AV/J9ZhU m3dhBgNx0NyukVia4L6nnrt7yRwFo8zX7O/bk8qxk+JC9o/Tk0iwNNG9Q+qAxALvyxU4 O1XCKRAK8qDSKlvpbg+Yv6KYnnbzIHAOqj84A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743628522; x=1744233322; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6vOkaWbZeGW9ejcyKHqKRgGRaPzQmhuks1cZQp6R9ag=; b=D20EG9MxlvEgo3NjAYFiGRjESxLFaO/xW8OlpZLo0mhW5BynwiNNaKQ7EySXS26fRp uhA0iUw31+iNC9A08fYwn6LT/OQJeMVa01dTVWUX9q03mxpcG/tC0U4lAFD/OV3DEx8l PXPb9h9cNB3rh3QBHdPdRGgkU+mW3t52+3Pgp4PVqEL/fTbr/Bp988U9iHUxipl2nwnp LigVji7eZYgf61yZPFOVSUkXD5ssA506DQdubgAmoylwxmhavH8o79jaJnkVze7K7DjK G02IVS4m6OrEG22atV5u1xlNZL1JWv6pbf0hYD5U4YysCNzJt3X7FgUF8Sj/PI2kj1zB dKsQ== X-Forwarded-Encrypted: i=1; AJvYcCV0k6SvOvBzKl5RttXRzfNU4vdKlJY1LNBI9nXoFo3Zc/nl9dvrf+k1JknCp/GSXfA8lppBulEWHQ==@vger.kernel.org X-Gm-Message-State: AOJu0Yw/NMnudR5JBPjSlEZfXvtNR+az6imei1LFZPh3J/Kmp33CK9dI jYp649J/9h/QaSQZxjTSOkW1DsuVpH9ggQ5t0IfNmhLjDKVmxGGsWqOxkDShgoqmWLculdRsu7q bh87Eig== X-Gm-Gg: ASbGncshIQRd5JV/DmqM6pnpPfekhHhMhsq3a9mjtgAd6mHiZ2LXLuUwndJacmxs58x YAlPv0DTqdQLocdgG1xfiKTLt4hizpxMmwBOOxOrzpy6N/lUiJ1bmfkV6pbIRzbf1xss5b9OjOv iqM/FM7Lkbc40jv1OZNocgTLYmPXhSabXcy71RDTqRGDejK02DGSeiVLkS9Pk9WeVS9hojVnipP SXssTki2zBHIqjlHvIcyHI/qdi18ygozDQdh8mkylJuUH3DwSUekJARjirvFyleYhHshYlSY5uQ wRrfeKZNLIJPxJ3gNaP0zR0U3PRvopm+qgeTxon4oUinioYOVTzYn2WXHeUOhaUqfg3ZMQH0eln 1/SZ4CzYzGHydfJbNhwzewmIPAvgDxA== X-Google-Smtp-Source: AGHT+IFeBqnnvWIzxDUvvoR6KETsrR0YVqsGqg+TLzrxJIx5HLIy1GIsMAUg8ehdrKCVOAdL5GcdtA== X-Received: by 2002:a17:907:2d8a:b0:ac3:45c0:6d08 with SMTP id a640c23a62f3a-ac7bbd1a0b6mr21155766b.0.1743628521753; Wed, 02 Apr 2025 14:15:21 -0700 (PDT) Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com. [209.85.208.47]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac7196988edsm980619166b.145.2025.04.02.14.15.21 for <io-uring@vger.kernel.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 02 Apr 2025 14:15:21 -0700 (PDT) Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5e5e1a38c1aso338955a12.2 for <io-uring@vger.kernel.org>; Wed, 02 Apr 2025 14:15:21 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCU7wcfobkFO4oJtbwvgwNJVFs8KZ3saXGYgOtu0A5kQ7JQwPKa/XdH5hq+0Xi5aIsa+NiJWFUjOLA==@vger.kernel.org X-Received: by 2002:a17:907:9409:b0:ac7:970b:8ee5 with SMTP id a640c23a62f3a-ac7bc126208mr19593966b.27.1743628091735; Wed, 02 Apr 2025 14:08:11 -0700 (PDT) Precedence: bulk X-Mailing-List: io-uring@vger.kernel.org List-Id: <io-uring.vger.kernel.org> List-Subscribe: <mailto:io-uring+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:io-uring+unsubscribe@vger.kernel.org> MIME-Version: 1.0 References: <Z-sDc-0qyfPZz9lv@mini-arch> <39515c76-310d-41af-a8b4-a814841449e3@samba.org> <407c1a05-24a7-430b-958c-0ca78c467c07@samba.org> <ed2038b1-0331-43d6-ac15-fd7e004ab27e@samba.org> <Z+wH1oYOr1dlKeyN@gmail.com> <Z-wKI1rQGSgrsjbl@mini-arch> <0f0f9cfd-77be-4988-8043-0d1bd0d157e7@samba.org> <Z-xi7TH83upf-E3q@mini-arch> <4b7ac4e9-6856-4e54-a2ba-15465e9622ac@samba.org> <20250402132906.0ceb8985@pumpkin> <Z-1Hgv4ImjWOW8X2@mini-arch> <20250402214638.0b5eed55@pumpkin> In-Reply-To: <20250402214638.0b5eed55@pumpkin> From: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed, 2 Apr 2025 14:07:54 -0700 X-Gmail-Original-Message-ID: <CAHk-=wi7p9bKgZt1E1BWE-NjwSRDBQs=Coviiz0ZTQy9OhHvPg@mail.gmail.com> X-Gm-Features: AQ5f1JpKVAIlc4pALP5yKNCr8F3ijIqVBIOCCdqoIfNZomenel-ajZbKWJ5EdvE Message-ID: <CAHk-=wi7p9bKgZt1E1BWE-NjwSRDBQs=Coviiz0ZTQy9OhHvPg@mail.gmail.com> Subject: Re: [RFC PATCH 0/4] net/io_uring: pass a kernel pointer via optlen_t to proto[_ops].getsockopt() To: David Laight <david.laight.linux@gmail.com> Cc: Stanislav Fomichev <stfomichev@gmail.com>, Stefan Metzmacher <metze@samba.org>, Breno Leitao <leitao@debian.org>, Jens Axboe <axboe@kernel.dk>, Pavel Begunkov <asml.silence@gmail.com>, Jakub Kicinski <kuba@kernel.org>, Christoph Hellwig <hch@lst.de>, Karsten Keil <isdn@linux-pingi.de>, Ayush Sawal <ayush.sawal@chelsio.com>, Andrew Lunn <andrew+netdev@lunn.ch>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>, Kuniyuki Iwashima <kuniyu@amazon.com>, Willem de Bruijn <willemb@google.com>, David Ahern <dsahern@kernel.org>, Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>, Xin Long <lucien.xin@gmail.com>, Neal Cardwell <ncardwell@google.com>, Joerg Reuter <jreuter@yaina.de>, Marcel Holtmann <marcel@holtmann.org>, Johan Hedberg <johan.hedberg@gmail.com>, Luiz Augusto von Dentz <luiz.dentz@gmail.com>, Oliver Hartkopp <socketcan@hartkopp.net>, Marc Kleine-Budde <mkl@pengutronix.de>, Robin van der Gracht <robin@protonic.nl>, Oleksij Rempel <o.rempel@pengutronix.de>, kernel@pengutronix.de, Alexander Aring <alex.aring@gmail.com>, Stefan Schmidt <stefan@datenfreihafen.org>, Miquel Raynal <miquel.raynal@bootlin.com>, Alexandra Winter <wintera@linux.ibm.com>, Thorsten Winkler <twinkler@linux.ibm.com>, James Chapman <jchapman@katalix.com>, Jeremy Kerr <jk@codeconstruct.com.au>, Matt Johnston <matt@codeconstruct.com.au>, Matthieu Baerts <matttbe@kernel.org>, Mat Martineau <martineau@kernel.org>, Geliang Tang <geliang@kernel.org>, Krzysztof Kozlowski <krzk@kernel.org>, Remi Denis-Courmont <courmisch@gmail.com>, Allison Henderson <allison.henderson@oracle.com>, David Howells <dhowells@redhat.com>, Marc Dionne <marc.dionne@auristor.com>, Wenjia Zhang <wenjia@linux.ibm.com>, Jan Karcher <jaka@linux.ibm.com>, "D. Wythe" <alibuda@linux.alibaba.com>, Tony Lu <tonylu@linux.alibaba.com>, Wen Gu <guwen@linux.alibaba.com>, Jon Maloy <jmaloy@redhat.com>, Boris Pismenny <borisp@nvidia.com>, John Fastabend <john.fastabend@gmail.com>, Stefano Garzarella <sgarzare@redhat.com>, Martin Schiller <ms@dev.tdt.de>, =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= <bjorn@kernel.org>, Magnus Karlsson <magnus.karlsson@intel.com>, Maciej Fijalkowski <maciej.fijalkowski@intel.com>, Jonathan Lemon <jonathan.lemon@gmail.com>, Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Jesper Dangaard Brouer <hawk@kernel.org>, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sctp@vger.kernel.org, linux-hams@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-can@vger.kernel.org, dccp@vger.kernel.org, linux-wpan@vger.kernel.org, linux-s390@vger.kernel.org, mptcp@lists.linux.dev, linux-rdma@vger.kernel.org, rds-devel@oss.oracle.com, linux-afs@lists.infradead.org, tipc-discussion@lists.sourceforge.net, virtualization@lists.linux.dev, linux-x25@vger.kernel.org, bpf@vger.kernel.org, isdn4linux@listserv.isdn4linux.de, io-uring@vger.kernel.org Content-Type: text/plain; charset="UTF-8" On Wed, 2 Apr 2025 at 13:46, David Laight <david.laight.linux@gmail.com> wrote: > > The problem is that the generic code has to deal with all the 'wild stuff'. > It is also common to do non-sequential accesses - so iov_iter doesn't match > at all. > There also isn't a requirement for scatter-gather. Note that the generic code has special cases for the simple stuff, which is all that the sockopt code would need. Now, that's _particularly_ true for the "single user address range" thing, where there's a special ITER_UBUF thing. We don't actually have a "single kernel range" version of that, but ITER_KVEC is simple to use, and the sockopt code could say "I only ever look at the first buffer". It's ok to just not handle all the cases, and you don't *have* to use the generic "copy_from_iter()" routines if you don't want to. In fact, I would expect that something like sockopt generally wouldn't want to use the normal iter copying routines, since those are basically all geared towards "copy and update the iter". Linus