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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7534FC7115D for ; Sun, 22 Jun 2025 17:46:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 015256B00A4; Sun, 22 Jun 2025 13:46:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F2F036B00A5; Sun, 22 Jun 2025 13:46:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E44E26B00A6; Sun, 22 Jun 2025 13:46:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id D0A3A6B00A4 for ; Sun, 22 Jun 2025 13:46:22 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 50F05160BC8 for ; Sun, 22 Jun 2025 17:46:22 +0000 (UTC) X-FDA: 83583765804.09.B3A0A76 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by imf19.hostedemail.com (Postfix) with ESMTP id 1EDAF1A000A for ; Sun, 22 Jun 2025 17:46:19 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=dFUbgZ3A; dmarc=none; spf=pass (imf19.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.43 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750614380; a=rsa-sha256; cv=none; b=j6r4YSZed1lRWLf3RS11kdSVPzfnRxSZ1mxDrCFua56Jzi92YAZvv4PcbW9EpP8BJlPe7+ sOcqHPFMfMOcqm1WdsgY47dr75JIIdvWqo1/bv60935wgcyv5W4b15G22FJ+BLy2X+eE9c NkvIl9B1b+txxerPWQuhCFR0lPBmO1E= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=dFUbgZ3A; dmarc=none; spf=pass (imf19.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.43 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750614380; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Fg9hmyFycp3ZDNw8sLAPP4qprGRUQKA22JNcWYg14/Y=; b=382r5ytTjUVMkIjy/onFzTZy2OkwF8858sFqAihMMWWlQhqJAeB85KW8ormBkAkUUewhuJ By73x7LcoLjo0aqadZy6d/Pcn88RPqOcrCiaU1oiOoqg/pDxUIhyjQGVcBod99Yikg61qI cEjhvmn3okoTJ0k0bpmYqx/HClOXQ6U= Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-ad93ff9f714so596414866b.2 for ; Sun, 22 Jun 2025 10:46:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1750614378; x=1751219178; darn=kvack.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=Fg9hmyFycp3ZDNw8sLAPP4qprGRUQKA22JNcWYg14/Y=; b=dFUbgZ3AN0sArrNV8E1W9eJt82C6QyO2ayBRA6uuJ9WDPuCNzTnGeQRnG7yoPOzhTI t7G0wbIHc5PodeZNOPY7FUZj8hQwRJtZsAcifbDqtpEGE4ZAutbXKqH7EvcScG9B06Te ySNaEeoGE2diAMyh4kO5Lf1IlS8CnuSWCGHxM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750614378; x=1751219178; 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=Fg9hmyFycp3ZDNw8sLAPP4qprGRUQKA22JNcWYg14/Y=; b=p22HjozomnQ5JBpuw5J4/AFUhaUWyMuNF8w/27hwVKzsqaS4uG+CvBBSTwlnjMYqYq r2aZ8bgJGCc1jeRkMoPR6YllXoITkIbjL6sqmVpsU8soiLRKnU2n0mryqUL77joSrwxz B+Ua3q3aa/2SF40gqELPsnmzJfHOWWgXpeRd/DDf7Njyur2cNydP3xvpCvDDxRczxK0i aVPZ00KsPM9bVoidE9FTP/MgqraxurlXxCg3cqHhnkDpc0uJz4x2qoardd/tIX5/vC9Z tWEa5hvCTycPgQwivFKwhr+ixeCYrZ2eBBlH0Bh0ojjDxjUQ7wZmGVI7VwMvQ4GXLB3k S1cg== X-Forwarded-Encrypted: i=1; AJvYcCWwFnEh2XOVEGqdXsgLo04mxgkDcZhD+IyLtUl1HCkBuqG/syzw4rt0sO/5QUzm1M/5L9Gy1ToN9A==@kvack.org X-Gm-Message-State: AOJu0Yx4ltCuasKmfmpuJfO1XEKHdP3SKjP8O5fCxQhr3aRKJBaVOrov c78/UoWDkoNIBEzljd/JNXGSUVT9JcKmHzFi/BCcPeD5l37/4KGdNn6kBANh3grPz3LMWLe1JxC 41tkavzw= X-Gm-Gg: ASbGncsp3wFQLk3n17yDoMIeZi2EylytG0bbOEzFFnjlnIOunbdc/h10mguImcKIGTQ zuR+V1ZqfDgX7Xw28NbI9YCOKnwA6DyNJQ+HiL6K9y2OVoU4hCjBn0Yx04B50oHmXbjOFgfRo8T +u80i91IcgS6veyOydYBXXhCtJnU29Vv1yB2DQrGZrEtqBVtYE4XbNuUG0URuYfNfQXHzO4twcL MDc2seC/Pl+bbIEUzHGAPCc9kElXY8TWvr+E2G8wbM1cZlRPC+Hs6HPL9n2+8uocpQgKkKRhoAt OJmcFAouOk74GRC+9uD3FPsLX53s9AQwW8W1YEQH3c1qtWXo1qhIqTllef6jKphoT0cmWpJ+N9p 9EQudjInn4CAN8veJzk5kiSJa3Y6xR9DSJxmYUnvAGfz6xEk= X-Google-Smtp-Source: AGHT+IFN7nNNcts2WKqpLuOZBJZrjE9514QiOxJVGkTdwE4poITWiK5weQ+wXCDF2aC+3BKponJgUw== X-Received: by 2002:a17:906:6a19:b0:ad8:9466:3344 with SMTP id a640c23a62f3a-ae057b98feamr944542666b.43.1750614378318; Sun, 22 Jun 2025 10:46:18 -0700 (PDT) Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com. [209.85.208.54]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae054209349sm567171366b.152.2025.06.22.10.46.17 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 22 Jun 2025 10:46:18 -0700 (PDT) Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-6097b404f58so6232455a12.3 for ; Sun, 22 Jun 2025 10:46:17 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCW9T6NtWZNEkJnwDHzjHFEazMxeEcpIf98DI9p3AC9mFVj6BLXZmWmxVPJ1t3ssBtghDbspPuCXBg==@kvack.org X-Received: by 2002:a05:6402:13cb:b0:600:1167:7333 with SMTP id 4fb4d7f45d1cf-60a1ccb4175mr8817971a12.10.1750614017461; Sun, 22 Jun 2025 10:40:17 -0700 (PDT) MIME-Version: 1.0 References: <9dfb66c94941e8f778c4cabbf046af2a301dd963.1750585239.git.christophe.leroy@csgroup.eu> <20250622181351.08141b50@pumpkin> In-Reply-To: <20250622181351.08141b50@pumpkin> From: Linus Torvalds Date: Sun, 22 Jun 2025 10:40:00 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: AX0GCFvQX_rPJUp_TeA-MaZrJuZOHr7f0zzM4dAjSAouwLFkdoxMjL44_Wohcms Message-ID: Subject: Re: [PATCH 5/5] powerpc: Implement masked user access To: David Laight Cc: Christophe Leroy , Michael Ellerman , Nicholas Piggin , Naveen N Rao , Madhavan Srinivasan , Alexander Viro , Christian Brauner , Jan Kara , Thomas Gleixner , Ingo Molnar , Peter Zijlstra , Darren Hart , Davidlohr Bueso , Andre Almeida , Andrew Morton , Dave Hansen , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: 1EDAF1A000A X-Rspamd-Server: rspam10 X-Stat-Signature: u6zcc3iw7968hy83x5e3n6u4tq7oi8gm X-HE-Tag: 1750614379-677457 X-HE-Meta: U2FsdGVkX18IIdf24PVNFcVBQj5AJiWtDSz4yIJ8wXiyBxk5mAOP7eeUjDp+S8lA5GBUnyC+Hl45XRNlZLJp3pC5Ootxy/MLiGgbcbsE65D5b2pfbhZWp+X315D9TLRoA/VUjuzhlTN3NvkGYLWEJsZJSCFroD6lTT4PyeD9avk8N2iDGuyKz6hcyoJty29N9y2SW9P4kEsagfxKb5vvxXhxOOsEPQLmFihbc6r2S2rSIeQtWx7lrQaqymII3rzcd7EkQP2zd1ELwMOM0W/SQl6bw47guKgX4i5UFHNg72aYqT78hp+pIpFpWdJ5sdD0gEK3773FYN8LEmrYZWVjHQt8VEhxeQTalXPz8fmyTog96/XG0GJfGfJalknA/JV2A3qP1TNOOwAJDUcYiyC3OxhCbUhRvIe2N3QNXR6WkSG02DdqarB57EJsZKp4kKLnu13m0ESguwYu6nPLzZs9gtDUQcEbL2KWR/MgaIsN+ibn8SePiaOA5TrDJokVmS+FyzpuUHcqnYkowJP4lMNc9nPAGO8HFpgGi04UvYrk9UP3dHvhpPaPykTgTg1bQXh/xHx8Kjx6x0B51vwFgpGTgYwYSf1w4OFfDzK6yDwbB7RH8WUFjF8nh945CULVrjDnaUk5+F1qkHyaJviG9iX6R5WYEzZwmwSiQqU1OP4Ctf5uC7SkDE79MsPURvQC1VIgeRRV5kkEhJ0FmBAyFOqXe24i1oMaTJG/TD7KUYNGz0Uv4wRqR4Zy72gx83tHnALYxHsGb0hSU9/KzI2TPjLa93V37UDO3owm++CEJTaSdlbnIvk20yT8prMeZEiRjKGwqvo25lQnFYTiriO8MjNTy6fm5KhOboqyZF9Vldu10dEGsAVXTJBypVdC2XlBpaRvtVRototr7itxeL84V+mHR26uGD87RQ8YeHRQZ/WXcqOLW44qvbVLqAWEEWD5V5y7vB1LfGTfk4rttddi6Aw QP5fZg/O JM09MLrLG+cB2zFhuiVDVgQQpvkvrNPdpLwGzRN8ya/j7eelHVnGR+t9Qz5e9PzdZSQ+kFlk9PUYgB5wasvI0KUhneldd1yu9q6+uCH+rRQb4QX0AD6XWwOmVzWsdhzgO2mAsQF45jtFISdxRECCOagnIR8zCntOvXpW9Eb1aW8pHxkeXws5XOV4/K8vnehRYiu188PzVg+egcpJxQTEE/xceKp4CjlR4ZoA9mT1piXesryy2nMGOCgY1kzvOGs2irYjqOa+T0KISZ1c+/2jnqo8LZBTxoLjC1bIVTJh/HxdFCRf8neMQo/3az19ofCk18ld8eO5/wYUCPWtvpuipKrUu9M/KbLpmtJ8+7wW+EO86VAecTPkkTjQBFFhPwRgxW844oY1M1oaSyKnWWZAcwWCHek9VycuksV8PF+GpsnawNlUbS4UzitCloLkJVIsxnA/NLyUL9x3F31EL1d4ZRQBbsY76558jpo104/9De6cyLCSdGe0OtZvewpM5cmTwp5E0lJ3iEYRX28WZFw5XE4CdPRXrVbV1wQaJICbllxqz+xjC5tz+tyoCj9/urTBwdf0f 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: List-Subscribe: List-Unsubscribe: On Sun, 22 Jun 2025 at 10:13, David Laight wrote: > > Not checking the size is slightly orthogonal. > It really just depends on the accesses being 'reasonably sequential'. > That is probably always true since access_ok() covers a single copy. It is probably true in practice, but yeah, it's worth thinking about. Particularly for various user level structure accesses, we do end up often accessing the members individually and thus potentially out of order, but as you say "reasonable sequential" is still true: the accesses are within a reasonably small offset of each other. And when we have potentially very big accesses with large offsets from the beginning (ie things like read/write() calls), we do them sequentially. There *might* be odd ioctls and such that get offsets from user space, though. So any conversion to using 'masked_user_access_begin()' needs to have at least *some* thought and not be just a mindless conversion from access_ok(). We have this same issue in access_ok() itself, and on x86-64 that does static inline bool __access_ok(const void __user *ptr, unsigned long size) { if (__builtin_constant_p(size <= PAGE_SIZE) && size <= PAGE_SIZE) { return valid_user_address(ptr); .. do the more careful one that actually uses the 'size' ... so it turns access_ok() itself into just a simple single-ended comparison with the starting address for small sizes, because we know it's ok to overflow by a bit (because of how valid_user_address() works on x86). Linus