From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6C9D0C43465 for ; Mon, 21 Sep 2020 15:26:44 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 0BC9F20EDD for ; Mon, 21 Sep 2020 15:26:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0BC9F20EDD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=ACULAB.COM Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 681E5900087; Mon, 21 Sep 2020 11:26:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6311B900072; Mon, 21 Sep 2020 11:26:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 51EFC900087; Mon, 21 Sep 2020 11:26:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0123.hostedemail.com [216.40.44.123]) by kanga.kvack.org (Postfix) with ESMTP id 3C7E1900072 for ; Mon, 21 Sep 2020 11:26:43 -0400 (EDT) Received: from smtpin21.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id EA5058249980 for ; Mon, 21 Sep 2020 15:26:42 +0000 (UTC) X-FDA: 77287445844.21.bears38_04174bb27146 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin21.hostedemail.com (Postfix) with ESMTP id B6759180442C3 for ; Mon, 21 Sep 2020 15:26:42 +0000 (UTC) X-HE-Tag: bears38_04174bb27146 X-Filterd-Recvd-Size: 4631 Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [207.82.80.151]) by imf32.hostedemail.com (Postfix) with ESMTP for ; Mon, 21 Sep 2020 15:26:41 +0000 (UTC) Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-128-o9XrdwUZOBmYoiJUKH50rg-1; Mon, 21 Sep 2020 16:26:37 +0100 X-MC-Unique: o9XrdwUZOBmYoiJUKH50rg-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Mon, 21 Sep 2020 16:26:35 +0100 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Mon, 21 Sep 2020 16:26:35 +0100 From: David Laight To: 'Al Viro' CC: 'Christoph Hellwig' , Andrew Morton , Jens Axboe , Arnd Bergmann , David Howells , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-mips@vger.kernel.org" , "linux-parisc@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-s390@vger.kernel.org" , "sparclinux@vger.kernel.org" , "linux-block@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-aio@kvack.org" , "io-uring@vger.kernel.org" , "linux-arch@vger.kernel.org" , "linux-mm@kvack.org" , "netdev@vger.kernel.org" , "keyrings@vger.kernel.org" , "linux-security-module@vger.kernel.org" Subject: RE: [PATCH 04/11] iov_iter: explicitly check for CHECK_IOVEC_ONLY in rw_copy_check_uvector Thread-Topic: [PATCH 04/11] iov_iter: explicitly check for CHECK_IOVEC_ONLY in rw_copy_check_uvector Thread-Index: AQHWkCRT6PkpgoAV6EexsDeYdekosqlzL1uQ///yg4CAABQ90A== Date: Mon, 21 Sep 2020 15:26:35 +0000 Message-ID: <99515e866c3e4e9c8140795352a62704@AcuMS.aculab.com> References: <20200921143434.707844-1-hch@lst.de> <20200921143434.707844-5-hch@lst.de> <7336624280b8444fb4cb00407317741b@AcuMS.aculab.com> <20200921151119.GU3421308@ZenIV.linux.org.uk> In-Reply-To: <20200921151119.GU3421308@ZenIV.linux.org.uk> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Language: en-US X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Al Viro > Sent: 21 September 2020 16:11 > On Mon, Sep 21, 2020 at 03:05:32PM +0000, David Laight wrote: >=20 > > I've actually no idea: > > 1) Why there is an access_ok() check here. > > It will be repeated by the user copy functions. >=20 > Early sanity check. >=20 > > 2) Why it isn't done when called from mm/process_vm_access.c. > > Ok, the addresses refer to a different process, but they > > must still be valid user addresses. > > > > Is 2 a legacy from when access_ok() actually checked that the > > addresses were mapped into the process's address space? >=20 > It never did. 2 is for the situation when a 32bit process > accesses 64bit one; addresses that are perfectly legitimate > for 64bit userland (and fitting into the first 4Gb of address > space, so they can be represented by 32bit pointers just fine) > might be rejected by access_ok() if the caller is 32bit. Can't 32 bit processes on a 64bit system access all the way to 4GB? Mapping things by default above 3GB will probably break things. But there is no reason to disallow explicit maps. And in any case access_ok() can use the same limit as it does for 64bit processes - the page fault handler will sort it all out. =09David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1= PT, UK Registration No: 1397386 (Wales)