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 92B8AC0219B for ; Sun, 9 Feb 2025 19:43:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C815A6B0082; Sun, 9 Feb 2025 14:43:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C30B16B0083; Sun, 9 Feb 2025 14:43:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD3366B0085; Sun, 9 Feb 2025 14:43:32 -0500 (EST) 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 92B976B0082 for ; Sun, 9 Feb 2025 14:43:32 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E5DD61617CD for ; Sun, 9 Feb 2025 19:43:31 +0000 (UTC) X-FDA: 83101430622.02.D6FEE32 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by imf22.hostedemail.com (Postfix) with ESMTP id BB04FC000E for ; Sun, 9 Feb 2025 19:43:29 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=ZBfdOoLE; dmarc=none; spf=pass (imf22.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.49 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739130209; a=rsa-sha256; cv=none; b=7mebxdXaB8MP+x6cN/yg5hLTwaO1SOcwT704F4t1EUChrGo8wIrzuBPPpF3Bk7+8NiD5nq EzDlkx+nUhv/3vH7fiu9/hNN53qszwslzPtqw9K60jmEUqAdnsH4zlmBmDNLUD3BGyrznL 0bQ7OYCRoo9DviMqV8FQy2zG+rAEi0k= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=ZBfdOoLE; dmarc=none; spf=pass (imf22.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.49 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=1739130209; 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=bJK5Dm1zTepUPVPm42tFyMDvmg4IjkhGFViLjAhYWCc=; b=Wcf/KtIw0ttmYC2S5ucfrEs3HU47ETkCEWIcpMCxTbHIj3m+hQrCEJMZ2DVklScMzKetCv CRBdZOvh/1nA9ty7H9S4OVNWpJgRGGJZVqFtZimtJ6jLaJspE6qDk9mAAMEW0HW0UaLL3u /bcsEXlOAE4xSqCINAOnwb5KT/ZFOM4= Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-ab78e6edb48so324424166b.2 for ; Sun, 09 Feb 2025 11:43:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1739130208; x=1739735008; 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=bJK5Dm1zTepUPVPm42tFyMDvmg4IjkhGFViLjAhYWCc=; b=ZBfdOoLE/OHfLdhtfqeW9I2sDD1pyyrLhBVhwnYONhjzT7Aw5YBzZLtUnnyv59lusT bUPjdeZyGzxCJjH/DDwmdtmtpyNNt1UKcY3gmvsstbCSVhdwtCE9jvk+eWC3Uw5kk5qC LD9yHWnlsbCu/YrlSCCqw4TQ3cYqHIW/lVVD4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739130208; x=1739735008; 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=bJK5Dm1zTepUPVPm42tFyMDvmg4IjkhGFViLjAhYWCc=; b=bFAgyUkzBNCor5vlhTcwQsVId6mKuyEErELRFKswDovZaX/J8JWqp9ByI36QpAsY+r vyCEL+JK5QHSJCrVJhhb+GuSrEGIngnJvZVyH7/TJX2tdlCVgNBma9fTNqruxpDO3KP/ 3DrJ/d48+NBksqDIAQBKAiIvLsIXUabXtmBbWjSaeVtqVMaRBeuiq2NcNebW8NhhouHd jL3IxgBQfYlHquvunUvaT20Bdaww7DidFXgm3ICNAwCW5PO8tbW0KH+FNwVC3yAp+Uxx 0bzCqLrFPuxGn/879+0cs4wp+kdlhjF7phnDlk2T6fooQvJbd7jz1PkXd8wfMtWtd/Tb d5XQ== X-Forwarded-Encrypted: i=1; AJvYcCVOQVSdIlS14Rz9KfbGDMJq7oLyd76y9hFkYGeZftOzQikyMuC0b85HTFVVPflyt5oSkwWQXCIg8g==@kvack.org X-Gm-Message-State: AOJu0Yxg2U6RBXYLNhNp2bX5p7AVV1ycjh8vo658/g0bKHiPxfPRFw/b 59ISmHORq6eJmExjlmoP3q4wSA9TxGyJASFsy+3PsXwXUOHCLiR3VUQp5sRAIzF3/xUUiVNOeFM d0yE= X-Gm-Gg: ASbGncsV/uijZvzNJK0eze/iPct7fVyiYWvlqFypJctVbH/xmnGyD9yuoi1GfCSVlyp E3YXosQNqYG32XpDmCLSppXDwoJeAn0W8Lhsz500Y6Tw707GAT2JkyVuv0zt7+s6vLvPEya2ZJX 9HxzyWGDR90BuQSN9wv4wzH+Ap4ICEGhEySMDaftGAPtdSIV/lGOreysuQj+OFSMgrE4MsTX8Yf VWFdQS1ZOZam2bixvD8cPFcLoZ32fxTAYVEGUbJIimWf4ZvQoE3IC3nnjG4Ay+Elpwj1QrTHOcw MJf7lM//JZh5ZXFa3aXg5qW6/yZtfkSF3LSbnfO0QGdES+aLQq3CMueYYaAqOmjjmw== X-Google-Smtp-Source: AGHT+IFHQ0pK1PWlNCwmSrx99Xlw3WqlSGfUrOa+FrzGF9MaV6FUXI9k4luLafBhL5dI4z6WV3XDlQ== X-Received: by 2002:a05:6402:5290:b0:5dc:ea7e:8c56 with SMTP id 4fb4d7f45d1cf-5de45070792mr28593845a12.22.1739130207983; Sun, 09 Feb 2025 11:43:27 -0800 (PST) Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com. [209.85.218.42]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab772f83e30sm727465966b.38.2025.02.09.11.43.25 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 09 Feb 2025 11:43:27 -0800 (PST) Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-aaedd529ba1so464290866b.1 for ; Sun, 09 Feb 2025 11:43:25 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWsKUqoTOJRfMd2PYynTuXtsnBJPdUnuYNfliPfJq96+BeWNpexiZg0AFSk9j6ftN79GsB63MAlGQ==@kvack.org X-Received: by 2002:a05:6402:3907:b0:5dc:893d:6df3 with SMTP id 4fb4d7f45d1cf-5de44e5b84bmr32924793a12.0.1739130204955; Sun, 09 Feb 2025 11:43:24 -0800 (PST) MIME-Version: 1.0 References: <20250209174711.60889-1-david.laight.linux@gmail.com> <20250209182422.GK3660748@nvidia.com> <20250209190003.661db659@pumpkin> In-Reply-To: <20250209190003.661db659@pumpkin> From: Linus Torvalds Date: Sun, 9 Feb 2025 11:43:08 -0800 X-Gmail-Original-Message-ID: X-Gm-Features: AWEUYZk1H6ql_sGrHEzKjC-gC5jO7hHDwKbbSp8AXf5o2F5Ayv6H0Qw3ZibIdkY Message-ID: Subject: Re: [PATCH 1/1] mm: Remove the access_ok() call from gup_fast_fallback(). To: David Laight Cc: Jason Gunthorpe , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org, Jan Kara , John Hubbard , Peter Xu , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: BB04FC000E X-Rspamd-Server: rspam12 X-Stat-Signature: 4omnq53qbsjfkz6q9cgf16t7yftep4t4 X-HE-Tag: 1739130209-460607 X-HE-Meta: U2FsdGVkX1/j/OLgsT9IscjcoHOp5oAzqcd3vBGck0AUM3w7FsUEWh9owUyqP7NksdChBoaBFvwAt3/8Bh2l7swnpJ8kpQsx0TICIXeBLYJ7ZCpVJlpFsmZQD/HKPOgqO1Vcms6GWnrAOi4LofyFYBDEfLYRjE3LWPWIpvM9knpx0461seOkAYLq+FUqJ7rxv6lV3gktLau3hKCiaZGEvPslvRI0wz7z+V2oFqkFkTN+v2XBuDWlYqizPwI8M+goQa+PI9weS9JTwkvdvAbwcptaPTSrxbbGcFMYSc1X+6OLR3+lfM77V17ozE18oLF6N5q6IPjWh7ilIDMINxmLDkKiv2yQJflSQIW+RtiTMAKVCPY5GoEEC7XCTLIojFPh96l4nWzqsOipVe+2ea2XcpeWv2u+Pha6zoQ7706YNFJk2lm07ShrL9HMswvdzbOqOrFw4YZHlGzSRYR9E9uN12JZ9QpR7+d7/9NSqtDnH77hS8ig1bNMV6X7wfSIik/YwmMpLqDmvCvXfgKdC9gWewZLfQ/MXOkiuUC4c+BgWTixxrHMBapNjKfX/LRrUuWMsu4QkX2EEnQBvpZ3lQKh3SJahWX98oDL0hvwG4o1/2YT//bl7nLwuFGPA85JURiWLSSdWUbduukofDfGaWmJqT5FlY0JrNfGYKretn1RFE05qvOwhONXNAo1AcD51ponSM9/6MB1v9HZN17v24HQpIPmV+ISn2n45HFOO5adkDYN9iW5bUhWBXeU9CkHcK+QLCUEjErt9CsatiApXphw8o/0pFTt1SxuuCD1gEskj423E67Yko/tqFUMAvX7Mtg+6y5XFoEIjbhLALdpIgRXFOzC1ktYdaOpFGvdmtaT4qennIht8AgVWIEFe7TR+dLzo287P6c7rVmoKEnjWxfpohKHy4nIUAlS1MBaaJ0L1GXxwSGc+QhQW4zDh4EJ3y3ZeX6khqNSaF8pTUz/1Lw 4c27qZF9 guX0sedEeYtE3dngj7lLr+2KMK5/PHMriGafOiNMnm6+3qAuoMRcH5+1uBsHjsEepMpSVbHaJkbblPx6VuBnr8idf/xoN/KcJDqwZ6qtVYoSFEyjossf1oiVF6di0tJl7RHjTN47V71rjb5TQsAVt5oF4slst59l6LipbQe3MIkKOLRNVVWq4sJ14VH7O6NwHU7bRSZ7ebNWAcAG1XQeI3TOweGPadkGtIFNq7752W0nrJlIuH98x4hduoLwu5cri7AgXmXAgJWJ1BwTdfZKBC/9VlF7ZN3e44xotTYmUxf0IPa9xiSBnvncKhXf0Huq0vcVRAe0Q8zbrFQ9uHkhPpZZQYqY8tObKXR5054xe11d4Ai+mk4pvzRp98VrDIPiwmueycLFLnRIfLXAk6vooxFHR4UwH3wfKxEX0ojh7MzDpmh9Hk/KOhjZ2Sf4AHCX2cli6MotQbliq7Hc+KU6+uZiR3XFRTq3QSn4fX4j1f7O45i8NkZsqDm+z0mNeSqoVQs4KWK2X688wU67xmxRzv+4qaW9cWZ1SpVGVrkadL6H8uBX4q2L2yJoa85juj6dz8SxHSLSSObu3J+bREBOH1g6lO/Fh299zx6R2afQkdSCpuq4= 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, 9 Feb 2025 at 11:00, David Laight wrote: > > They still do 'stuff' and end up containing a slow memory synchronising > instruction (to avoid speculative accesses controlled by the application). > > But there are better ways to handle bad user pointers. Not always. If you use __get_user() and friends, you basically *have* to use access_ok(), or you have to be playing games (like some tracing code does, which actually wants to use it as a "I want a kernel pointer _or_ a user pointer{". Now, admittedly probably nobody should be using __get_user() and friends any more. Almost all the reasons for using it are entirely historical and just not true any more. But also, comparing against TASK_SIZE_MAX isn't actually the same as access_ok() historically. We've moved in that direction, yes, but we very much used to have a distinction between "this is the fixed maximum", and "this is the actual run-time size". We've moved towards just using TASK_SIZE_MAX mainly because the run-time size check was annoyingly expensive is some pretty critical code. But historically the TASK_SIZE_MAX thing is the "this is fast but not exact, use it only for special code that knows what it is doing", and "access_ok()" was "this is proper" > So, mostly access_ok() isn't needed outside the architecture code > that handles userspace accesses. Oh, there is still a fair amount of code that really does need it. Admittedly most of it should either be converted to just using regular get/put_user(), or into the modern "user_access_begin()" model, but we do have a number of __get/put_user() users that still very much need that access_ok(). And anything that follows page tables had better check that it's proper. But in that case, I do believe checking for TASK_SIZE_MAX tends to be equivalent. Linus