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 5E651C32793 for ; Wed, 18 Jan 2023 17:01:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C71D96B0072; Wed, 18 Jan 2023 12:01:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C21C56B0075; Wed, 18 Jan 2023 12:01:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE95B6B0078; Wed, 18 Jan 2023 12:01:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 9F31D6B0072 for ; Wed, 18 Jan 2023 12:01:26 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 55F52AB0D7 for ; Wed, 18 Jan 2023 17:01:26 +0000 (UTC) X-FDA: 80368535772.25.02715B6 Received: from mail-yb1-f182.google.com (mail-yb1-f182.google.com [209.85.219.182]) by imf11.hostedemail.com (Postfix) with ESMTP id 5BF7C4003B for ; Wed, 18 Jan 2023 17:01:23 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=ecAOyczQ; spf=pass (imf11.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.219.182 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674061283; 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=DJBZdN4kSLIlLl8kPVsTumsNteLxan9/Bu7rB/h9NIk=; b=ZxK6u7lDb5Jlmcs4AerK9LWPB6Fb2vxT9pRedvuS/KMhaXM1DTP/CWb6QJC1D7vb3wQeGZ Ro50nGO720zujzf3GPib0oBGhsrTjUMcdlsW1p3NcfpyHlDMt22A5xRKNuhCNrYsob5eMq +aBzw6mj3dUupMojVRxn2qXyB1f7RWA= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=ecAOyczQ; spf=pass (imf11.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.219.182 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674061283; a=rsa-sha256; cv=none; b=sCkiTW5HMZ6uVopgcof9OfMcVLMvIqxzS8OejrFLk0NYAHaPzwymWNLVedWSOO293610GT QiCyya03qEyjPLTWLp4gQ6nyRQUckca7BrEgsYnP6SEdFTCjnSHfbl5KVeb6U8QiDfH05x V+WQqHV40gT8YcYgUAiYls2FwTB6v+8= Received: by mail-yb1-f182.google.com with SMTP id e130so9369642yba.7 for ; Wed, 18 Jan 2023 09:01:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DJBZdN4kSLIlLl8kPVsTumsNteLxan9/Bu7rB/h9NIk=; b=ecAOyczQCTbiITKL2h/jHtACGOR0iJ2EQF7lthUuPAgymOdRLiYelJAF++vP6TGAOc MXa0wIhKP64NJxuPY6hUpfJY50pLqfUviyFQgxwmkZDdvvVY7y4piI+iuclZDGar5zvO hxbZlC4EfpSx2dm9/weoMEVNjOuSothO2LjCo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=DJBZdN4kSLIlLl8kPVsTumsNteLxan9/Bu7rB/h9NIk=; b=d3pwH9PkYuhW1h0DjigezU+23Tgwj6cS1u49eLvCqXJdQDmk0keijyQ0YG7lq/Zlcn LR6K8GxjInk08oHc2/O+4igtnR2gl/DPdyUorxXlGz2tnnKqvTK/1QyqAHnestrvzoR8 sBlScbI4cezT5Hkv95/Gb0KvbLijQ2701/iH6nSM86KMk+S6IvZG0Yvw8IUPEtdNS7bJ a7zu3mTsu7c6NaJVVO+ogSRCN0eu+iaFsT+vSlsdPkIG57U3yF4K7cvRJVNniJ/Y19RR y6hwwM+EMF3fUlcRpwCeqblaKhwBUbJQpbCHQhbjgrzRogdrG0+EQ6Vd2AHVDsIpg6C+ wzxA== X-Gm-Message-State: AFqh2kqP6TBeoz0L/ducGPWDKvVcNB2oRQr2sypIkh/+zRcpJHtOkKRG 5FWvngljyF/ihG9rhdWr2u+m2ppDfoJRgjDx X-Google-Smtp-Source: AMrXdXuveFS18SkURzE/ZYahIlW4l0Pfk8GSHSL946kyzHCq8JGFkJx/Kjg2cqYY0Z3Gw6qRcZuj2Q== X-Received: by 2002:a25:83c8:0:b0:7ca:4901:c8cd with SMTP id v8-20020a2583c8000000b007ca4901c8cdmr18096576ybm.52.1674061281912; Wed, 18 Jan 2023 09:01:21 -0800 (PST) Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com. [209.85.219.48]) by smtp.gmail.com with ESMTPSA id u8-20020a05620a454800b006fc7302cf89sm22901829qkp.28.2023.01.18.09.01.20 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 Jan 2023 09:01:20 -0800 (PST) Received: by mail-qv1-f48.google.com with SMTP id g10so18669687qvo.6 for ; Wed, 18 Jan 2023 09:01:20 -0800 (PST) X-Received: by 2002:a05:6214:5f82:b0:534:252f:b091 with SMTP id ls2-20020a0562145f8200b00534252fb091mr343909qvb.130.1674061280149; Wed, 18 Jan 2023 09:01:20 -0800 (PST) MIME-Version: 1.0 References: <20230111123736.20025-1-kirill.shutemov@linux.intel.com> <20230111123736.20025-2-kirill.shutemov@linux.intel.com> In-Reply-To: From: Linus Torvalds Date: Wed, 18 Jan 2023 09:01:01 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCHv14 01/17] x86/mm: Rework address range check in get_user() and put_user() To: Peter Zijlstra Cc: "Kirill A. Shutemov" , Dave Hansen , Andy Lutomirski , x86@kernel.org, Kostya Serebryany , Andrey Ryabinin , Andrey Konovalov , Alexander Potapenko , Taras Madan , Dmitry Vyukov , "H . J . Lu" , Andi Kleen , Rick Edgecombe , Bharata B Rao , Jacob Pan , Ashok Raj , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 5BF7C4003B X-Rspam-User: X-Stat-Signature: 9h3nnxnmdoxnwyundtxeujmnbem9jkbs X-HE-Tag: 1674061283-563943 X-HE-Meta: U2FsdGVkX18XfeyBmJ/50uhaT1yfaSiw+MJhnMmh4fnp30H4cs13NHF7zpJDK2jIlCd8/CRqlwYEN9eVg6/OjXsqpXlVB1l1GplBTiCZavr+GVkbmqBUVinVcDyHI0InubCeUhbNNbzphUtSZ5w4qKqhcwzPRC2S0xOKseCXzYp84ct3y1xSu1lt+kjlz0XmSqJqLOuiFdVO7lOhP4c5ncBx06vo9822ORgk5vj95O0De+xwF9lnHLUppDLhXs88RVBWhQsSKwdx/LVX2sQ6KfcHxR3vqjrl/8g4vhA6qVF28yyGpSiAYMR7GP0WQ0keV90WE1Kq1JpsbHX7Og7szrn9CgO+JsTvC/4Ly7ipDCrO0n+LwaK4SeYNdGyVsI3hX31dOgETYCGdX7oMKxb5qsRwlQUUNGqzg7zQoIBgRt0chS8Z04lGZMBIPBfqDaTUdmcNuUvZ0M7y7x1skjzDL930M/PLEGx8tmFJD6tbrni+jriES/kyb/Klw2u/xivVc+0sLlrqbBlF6gU0VkY3QgnSPCXs8NJFCTLJHGq2zeoW+64yLWqYVrflz+wBTr8kEC9yw1S8EX/zo2JBLf3NEcA6EFggElyIR7qYya4c7YBpXcI+9X1jF+7fVBKJrF/9IELY0fltTxjkUICubmh71QpjG/mazH+GxTRCMPQOn3zYErVJ23bZXVNppMmd1XDrxBMzoKEuc3v47pFYhD+gGny6nJsh7vJM+l+2SjSaRNKVpcw1UeOasIkqEFgAW9z4DnAn9ptIUGXTnTvWc+pA3QqO1GinyKtqogBkaiGXqJj4WgdPbrfXAvsTmlPRrN6xDNF7unKHXRXfhlGwAJtXPFoHMnRUwQPx76HDWH78IWvxxpCbquUb3y7ZmuH8mbXw3BOE8gOCKTUFeDSmv0a7CqRzVBEmOMYgcK9o0u/qim8RH04M3NkYeLM74qJug6GcaU0cfIw6SAEJ/amN8RW NPJ5xjrR iCf9THT83FXRhlY6Omnyu+f+z2pVOxH7KA/P9yGxZc0QdXW78S3DAeDGs79PDRftfIQIOFdYLqsaLUei+sZEXnFBmXDpYHG+xE7OXwlUF1apM+r3lUJA1xhNUErpUZ6uqouv2XvLGK6fVtWeUVBgFJg6hHNwQQ9y5yFG/kIcHJvVW9R3cqgGlcGmnVuG0Xp6foPDH1mtt8LpL6ryJWnTWtWYCAyjVNWD64LoKL4Q3bVkzemCuR7gY/CYEs6sEbrcxYW9FO72NkiC91k6sIgsU+FZrBoXEKHHohmJI9jhO3LB3xED3k9uS+po79+r8m2WjIRK+o/8PCafEJ9kE2X/J17sPLHgr5eBhrhO8seNiqnXyDifPYdBy6KG4gi/Nu4gmF9VyhDxyo/W2qvj7LJmhLWQsMg== 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: On Wed, Jan 18, 2023 at 8:49 AM Peter Zijlstra wrote: > > > We'll still return -EFAULT, of course, we're just getting rid of the > > > > WARN_ONCE(trapnr == X86_TRAP_GP, > > "General protection fault in user access. > > Non-canonical address?"); > > > > issue that comes from not being so exact about the address limit any more. > > Ah indeed, so for !LAM we'd now print the message were we would not > before (the whole TASK_SIZE_MAX+ range). Yeah. We could just remove that warning entirely, but it has been useful for syzbot catching random user addresses that weren't caught by "access_ok()" when people did bad bad things (ie using the non-checking "__copy_from_user()" and friends). I'm not sure how much that warning is worth any more - and for get_user() and put_user() itself it buys us nothing, since by definition _those_ do the range checking. Christoph getting rid of the set_fs() model simplified a lot of our user address checking. But I think it's easier to just keep that existing warning about "how did you get a non-canonical address here" for other user accesses, and just make get/put_user() use that _ASM_EXTABLE() version that doesn't do it. Linus