From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: get rid of the address_space override in setsockopt v2 Date: Fri, 24 Jul 2020 15:43:42 -0700 (PDT) Message-ID: <20200724.154342.1433271593505001306.davem@davemloft.net> References: <20200723060908.50081-1-hch@lst.de> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20200723060908.50081-1-hch@lst.de> Sender: netdev-owner@vger.kernel.org To: hch@lst.de Cc: kuba@kernel.org, ast@kernel.org, daniel@iogearbox.net, kuznet@ms2.inr.ac.ru, yoshfuji@linux-ipv6.org, edumazet@google.com, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, bpf@vger.kernel.org, netfilter-devel@vger.kernel.org, coreteam@netfilter.org, linux-sctp@vger.kernel.org, linux-hams@vger.kernel.org, linux-bluetooth@vger.kernel.org, bridge@lists.linux-foundation.org, linux-can@vger.kernel.org, dccp@vger.kernel.org, linux-decnet-user@lists.sourceforge.net, linux-wpan@vger.kernel.org, linux-s390@vger.kernel.org, mptcp@lists.01.org, lvs-devel@vger.kernel.org, rds-devel@oss.oracle.com, linux-afs@lists.infradead.org, tipc-discussion@lists.sourceforge.net, linux-x25@vger.kernel.org List-Id: linux-can.vger.kernel.org From: Christoph Hellwig Date: Thu, 23 Jul 2020 08:08:42 +0200 > setsockopt is the last place in architecture-independ code that still > uses set_fs to force the uaccess routines to operate on kernel pointers. > > This series adds a new sockptr_t type that can contained either a kernel > or user pointer, and which has accessors that do the right thing, and > then uses it for setsockopt, starting by refactoring some low-level > helpers and moving them over to it before finally doing the main > setsockopt method. > > Note that apparently the eBPF selftests do not even cover this path, so > the series has been tested with a testing patch that always copies the > data first and passes a kernel pointer. This is something that works for > most common sockopts (and is something that the ePBF support relies on), > but unfortunately in various corner cases we either don't use the passed > in length, or in one case actually copy data back from setsockopt, or in > case of bpfilter straight out do not work with kernel pointers at all. > > Against net-next/master. > > Changes since v1: > - check that users don't pass in kernel addresses > - more bpfilter cleanups > - cosmetic mptcp tweak Series applied to net-next, I'm build testing and will push this out when that is done. Thanks.