From patchwork Sun Feb 9 17:47:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Laight X-Patchwork-Id: 13967024 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 5716FC0219B for ; Sun, 9 Feb 2025 17:47:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3BE9D6B0082; Sun, 9 Feb 2025 12:47:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 36E7A6B0083; Sun, 9 Feb 2025 12:47:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 236456B0085; Sun, 9 Feb 2025 12:47:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 069396B0082 for ; Sun, 9 Feb 2025 12:47:22 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 54F6BAEE50 for ; Sun, 9 Feb 2025 17:47:21 +0000 (UTC) X-FDA: 83101137882.11.3C53CAB Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by imf06.hostedemail.com (Postfix) with ESMTP id 84918180010 for ; Sun, 9 Feb 2025 17:47:19 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=l5gmo5X0; spf=pass (imf06.hostedemail.com: domain of david.laight.linux@gmail.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=david.laight.linux@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739123239; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=635XUpQWwMBC20im34ayRqdTDYXD0oCaCf2wtTpcf80=; b=61+WnWHgYn1Gh1nIcBgzTQQ6qIcuIhINpytXQj4d6JeIw6bTN5ORZeUtnku1mDGxuhqqtR FFPbP7DYmXaxwqvyjVAENDTR0Ek5pfufKIsfcW6+xHDRmPJV6tFhroipKCS6Soik/vknyv wjvnvDByxOHsjAvcjYCr1o6KIA+U/F8= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=l5gmo5X0; spf=pass (imf06.hostedemail.com: domain of david.laight.linux@gmail.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=david.laight.linux@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739123239; a=rsa-sha256; cv=none; b=HbMNTGAtc130v62LBiNzbwFntzNr2dZ/GtTYTbfEz9L5NFoZ5w1FICBvnmV2l+93ruymqk 5DrEtEa9oRk9JBu2AqK6prsQ7fgbxPTBCuXbQ1Y03N33Gm45ghMrf6+ULIhMSecSbPmKjs ZTJPFJ/iHp6ehi25yclfMMAPyJC0fMg= Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4364a37a1d7so36414835e9.3 for ; Sun, 09 Feb 2025 09:47:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739123238; x=1739728038; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=635XUpQWwMBC20im34ayRqdTDYXD0oCaCf2wtTpcf80=; b=l5gmo5X0IFISJFcKLeNuom85ld7doN4g1YiupUJcHVEa6FOj/2TU5OQFI6BaoNV68S agvuEGbewXbv+go631HBPv/IHbnK4NKi7JnYomlSVzRTV8dXjYMxlCGQsfly2G4Vq4Bc i5Y95XhIafxweNPQ+Y3FBhgFFQE8E/qg6FJAa1euS4dCTu3JIsxb9KaHluiKH/AJZvqA pdZ+w+3PE8LHGKMkR5KB9m5G3sShN4ugqEyGyaa5e+Co0aaPvQutCg1tQiwJFc9alWOQ eJE8DVNeu4T/6yWUT2kMs1aapyV6Kc1+1MoRrNvtziD3zZCyYaymaL/voaJpdQIcDXcD 64MA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739123238; x=1739728038; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=635XUpQWwMBC20im34ayRqdTDYXD0oCaCf2wtTpcf80=; b=vPwhWZpq6JWZbIJsQgaPs3yCkmUM03ShtwrP9cI8nfGt4ZizX1g5eL+aknQ3ZwWsSn PwvQwvWBACAvoEzij0tJHdvB3o0nfpVl1OqfRHA+GjPFCMlOPWBkOL0xxKyJS2IYUwcg oOqmuy7kGLYdht/BFIr8Wqq92E6aqICWm8vE4LfOIARsj09SU15+pOZMCz3ftI16bgno O5vQjs3GDIKGbdOZndWgrETVmsXxmKAeOfVMa1NKChMH1FV0+jwjfE0VexlUg3jK3EQe KVir8egwCWAeZXO7xl8OeP5zIMpb0S+pPhWYHR2RR3k4ZwMPi6yaO4wSHiKW3DFIDTfj EL2g== X-Forwarded-Encrypted: i=1; AJvYcCVSWE9ILFhJemlpzaFaxYnzh1t3muaE2v593/1N2cy3I0LeU3s8AnM/luVvxomo+m86pctD0qds4A==@kvack.org X-Gm-Message-State: AOJu0YwTz0ZpWBkBNCSeq0YB9velykx+oezyB2y4MLdN6aQdBXKnqNDO CZGeYgjbQr2mzDm/+UcazKZGSZvmT5eDOs6oTk4L7+O0nMqWEEBg X-Gm-Gg: ASbGncvluSfbk9Xs4YplgMcjXQja/61PnUdJg8OEVSkDk66DPhEP6aGT4wTRY+fa0gN 7bXYd4Zwt5jcUFH+xgI29tpoIlDiZjsXdh70ZppXfnosuERDl9aflF5GFgCXHdqUxj/d3QjgXXk XuyxlOwb0qdqQYKW7dUalGMsuUL/ASJZ4bYmU21gyzhfxwJzw2Unr4X/KadfBFkd7MVGRzCulLv U1BOf+nke4UHnmg9+Rz2br5tUB9INgRnSot3g4NMbZ3T1ZN2rcMxCo4QkJGJLExN51RA7QtRKtg pfprk4qGD5kibIwJSoyCENIEv0yjJAWIRBBhes2gJnB7Mt/4wa6GRlJFh/+v3HbfZZsSNlR2 X-Google-Smtp-Source: AGHT+IHd6jyAT0N+xUPxKXqCz5caIm7IcctiIoA6zP+xhMqvsp7Axyioz+nIgSfEUq+zbPIJs2TQYg== X-Received: by 2002:a05:600c:1f85:b0:436:30e4:459b with SMTP id 5b1f17b1804b1-4392499962dmr93492725e9.18.1739123237542; Sun, 09 Feb 2025 09:47:17 -0800 (PST) Received: from snowdrop.snailnet.com (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4393b66f3e3sm33686985e9.19.2025.02.09.09.47.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Feb 2025 09:47:17 -0800 (PST) From: David Laight To: Andrew Morton , Linus Torvalds , linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org Cc: David Laight , Jason Gunthorpe , Jan Kara , John Hubbard , Peter Xu , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov Subject: [PATCH 1/1] mm: Remove the access_ok() call from gup_fast_fallback(). Date: Sun, 9 Feb 2025 17:47:11 +0000 Message-Id: <20250209174711.60889-1-david.laight.linux@gmail.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: u4oust6je4d4moy7ddtngus5otwo6p9z X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 84918180010 X-HE-Tag: 1739123239-696053 X-HE-Meta: U2FsdGVkX1/6NlRkpDt+sCYMTWn4qiF7YIpApCybBN05XOq+GlNpFrnGJB8J24A0n3KVLY90Gg8zblaH3sdMpNLAJp/xmLoRLax9fQ2mxIHjo5DLwgqmqQIYvELAqqGIn3zBAt+eZU7eC3mj+A442gdB6yk+aSFYIW6obBJLHzqZLw6XYL6pUcv6YQ5oAhsmvvfoRMMATeYVGxHeRD3BZgbGDizxLf61f5dwFcCT9BmQ6mBk+kFWQUWsY26eNXt30xbke5nOen3lw7nepCSaLHh2zOYyFZFtC5IOavB6FtSK6tIcje2NkapQEknKiQCzR8xA7Ffgz5Sv2mMM6zvRe9ev0ZYHsbVRbyjpayZjYC1IFtqiHS7kCqWHMORQBip00iOMCTvzDqLqfZAuOJ+KLADBZVV6N745O9/BaIEhkH5oeFhuKSDk7Tr/pdNVwRUB9mOIx+qzAznSt/TCyyfg3wKyrEQubEJxWD12SHPzrMm36SA7Lc+e+Fe4yBQEsbtGEquMgV+Vm97bXHutB9bk15TA3FXKrU14t9Fb2IHAuAQ6gqIXs14v/SyHmbORf3hAfVSHcn2uGftJUrjHsOQuWIRi8jCaJKfDYsestpJigKb/Cxk4VJzCiqLXtuf7Io6FfLWUmvnrEs/HWn4HktQH47VBN/kXZCFt1fKppeAwmumCCWMcPhKxAMTP8KynjYHyfLnQ4WR7/HJtyLLxCCh8j86TaaKMpCkbowXfF2Mvmv5aZtaPs+4WosEPXkm9rteYdMqpnCHnp+0z15b5l0zVRwLy/qMSAfsFw3k/xrTb0Eu1DXJujt26yygkxcIrq+/ijHIaxAo8SL0lZ02r7LzlyzriVC/+ajth70JADfR2NN8GLK6u9Q6gQsc/uyMvR3yTSX3YnQ73OkFzGYcBPsc3V+qhzxX3ueOQtWQxdl+If7TtmaOGiJSy8thH2QxTYmU3b6qWZQWoTk02wFhkVQc ykZubn/7 ze8SG3gEcGWmtrPRF1foeJPK1DK4bLeQyqcUsHFgUr43kY/7ZvgRv3KuM13Aq7GLvtBL5TVoyu1biQI7UeuKFxTTZM93mr6T7cy5IMfqHYvCnZARgv9JzaKsoHG8w/bP7PIB7Kv8+hgjZ/m7hC21e2q3C/tr7UVvivLyIhqgVyLUonH13Z+Z6p1Qijda3b3C6SRK6lx8Wk6XMNz63ei+IBXqPNWx8bpAz2iafZFbKEwcwkesUl12rPox9mFS/5JlpxKQVS4Oi9DMHdVAqtR9JimHhqzbaCZf/RREct85Ntdbd/OoLTjEybEciudkRmbGIexwMwyuth/dxXPhXtW8iQY4fKzpndtLpotS+T4szA4EnV6p22Ygbu4N+Kb1alUMjDc9Jr1Ge8P5GGsmmjhLq3Z/oD85k/+5sC03vN24+wU62S2Rmlue1gcVCHNWxjYfethzfibkDrOg+2otVSps4GSs7LCxWVbxFj89RV093G1uEKef/bdtVyd2zHXX3gSREI2kXM/dhsmBQrKqCH4YsY4oMLg== 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: Historiaclly the code relied on access_ok() to validate the address range. Commit 26f4c328079d7 added an explicit wrap check before access_ok(). Commit c28b1fc70390d then changed the wrap test to use check_add_overflow(). Commit 6014bc27561f2 relaxed the checks in x86-64's access_ok() and added an explicit check for TASK_SIZE here to make up for it. That left a pointless access_ok() call with its associated 'lfence' that can never actually fail. So just delete the test. Signed-off-by: David Laight Reviewed-by: Jason Gunthorpe Acked-by: David Hildenbrand --- mm/gup.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index 3883b307780e..79a3d2228bf9 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -2757,7 +2757,7 @@ EXPORT_SYMBOL(get_user_pages_unlocked); * * *) ptes can be read atomically by the architecture. * - * *) access_ok is sufficient to validate userspace address ranges. + * *) valid user addesses are below TASK_MAX_SIZE * * The last two assumptions can be relaxed by the addition of helper functions. * @@ -3411,8 +3411,6 @@ static int gup_fast_fallback(unsigned long start, unsigned long nr_pages, return -EOVERFLOW; if (end > TASK_SIZE_MAX) return -EFAULT; - if (unlikely(!access_ok((void __user *)start, len))) - return -EFAULT; nr_pinned = gup_fast(start, end, gup_flags, pages); if (nr_pinned == nr_pages || gup_flags & FOLL_FAST_ONLY)