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 78AA1C71157 for ; Sat, 21 Jun 2025 03:36:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1ADAE6B0089; Fri, 20 Jun 2025 23:36:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 184256B008A; Fri, 20 Jun 2025 23:36:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C1506B008C; Fri, 20 Jun 2025 23:36:58 -0400 (EDT) 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 EDB2E6B0089 for ; Fri, 20 Jun 2025 23:36:57 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 50C5481CB1 for ; Sat, 21 Jun 2025 03:36:57 +0000 (UTC) X-FDA: 83577996474.29.92D7C2D Received: from mail.zytor.com (terminus.zytor.com [198.137.202.136]) by imf21.hostedemail.com (Postfix) with ESMTP id 464341C0008 for ; Sat, 21 Jun 2025 03:36:55 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=zytor.com header.s=2025052101 header.b=fg1Rl96B; dmarc=pass (policy=none) header.from=zytor.com; spf=pass (imf21.hostedemail.com: domain of hpa@zytor.com designates 198.137.202.136 as permitted sender) smtp.mailfrom=hpa@zytor.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750477015; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=e8u5GdAoNmNNX+7s1We8IvN8ajhS7ttID7S5qCJy8UE=; b=UsAbXL7Sj5BcQe5Y5xgzjtou+Kf7bSBrJKJzJ1V0HTuX0JYiOss3puE8OIRR69NkFrVFEy Z9a5E4D41YmoUxG+CYyLonrY+iEQeheF+J6KW1XPdNClR+S7sLNNa2OoRHXZgm4RETVCxv AyPhbmUEE09Co220xkFbmOhkFIB2nwk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750477015; a=rsa-sha256; cv=none; b=6rZPbl8GUZA1uvsaFbKuxWAextOJBw7gJAisOJF8a3j1PkvgMqy+EnxDYb1JJN6VrP/ONe aOUMLoTO4+gFo/P25+iOUz0zPfldi7ymSatCjzzhV3RPNdGlDFBOH7pgzp4vsMBUW76hRm eaeTSNwqA4BJ9hElk0321ocXe+Z4x+s= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=zytor.com header.s=2025052101 header.b=fg1Rl96B; dmarc=pass (policy=none) header.from=zytor.com; spf=pass (imf21.hostedemail.com: domain of hpa@zytor.com designates 198.137.202.136 as permitted sender) smtp.mailfrom=hpa@zytor.com Received: from [IPv6:::1] ([172.59.160.63]) (authenticated bits=0) by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 55L3ZpFw045279 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO); Fri, 20 Jun 2025 20:35:52 -0700 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 55L3ZpFw045279 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com; s=2025052101; t=1750476959; bh=e8u5GdAoNmNNX+7s1We8IvN8ajhS7ttID7S5qCJy8UE=; h=Date:From:To:CC:Subject:In-Reply-To:References:From; b=fg1Rl96BlDPtm6MboBx7fzOIQO56zmQRAwuRt6FlJ5Bapo9PGVzdpzLSAZ7ASFEqt crVA+NGYkWM8aOcqXlpqzrou88mmD1SFu6F9BHL274OJAOuur9ixBDgdltznH6dZIN +chniuJQEHRtEdALpdS2BYSxcF4ACV9O+nY66VgpTTY22vDrz95BqnQ4FfEdVo3mFl IusBJiUv0S0TVZHL6KVEXvkZPywCUakX8e9TTo4aeDnU9pKw7AbsN8tkC8QDECWNU4 KjiJbxr4qL4CmijeMCqcaTL7z6U/F9Nl6/Q+DFkXCEaRC1qlc6HVuA5XygN3fnbJDO U+mqPnogQOeIw== Date: Fri, 20 Jun 2025 20:35:45 -0700 From: "H. Peter Anvin" To: Dave Hansen , Andrew Cooper CC: acme@redhat.com, aik@amd.com, akpm@linux-foundation.org, alexander.shishkin@linux.intel.com, ardb@kernel.org, ast@kernel.org, bp@alien8.de, brijesh.singh@amd.com, changbin.du@huawei.com, christophe.leroy@csgroup.eu, corbet@lwn.net, daniel.sneddon@linux.intel.com, dave.hansen@linux.intel.com, ebiggers@google.com, geert+renesas@glider.be, houtao1@huawei.com, jgg@ziepe.ca, jgross@suse.com, jpoimboe@kernel.org, kai.huang@intel.com, kees@kernel.org, kirill.shutemov@linux.intel.com, leitao@debian.org, linux-doc@vger.kernel.org, linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux@rasmusvillemoes.dk, luto@kernel.org, mcgrof@kernel.org, mhiramat@kernel.org, michael.roth@amd.com, mingo@kernel.org, mingo@redhat.com, namhyung@kernel.org, paulmck@kernel.org, pawan.kumar.gupta@linux.intel.com, peterz@infradead.org, rick.p.edgecombe@intel.com, rppt@kernel.org, sandipan.das@amd.com, shijie@os.amperecomputing.com, sohil.mehta@intel.com, tglx@linutronix.de, tj@kernel.org, tony.luck@intel.com, vegard.nossum@oracle.com, x86@kernel.org, xin3.li@intel.com, xiongwei.song@windriver.com, ytcoode@gmail.com Subject: Re: [PATCHv6 07/16] x86/vsyscall: Reorganize the #PF emulation code User-Agent: K-9 Mail for Android In-Reply-To: References: <9d351d80-66fe-486f-bdb3-370859dc47cc@intel.com> <262c0fd2-ac66-4ce7-903f-4062f1fe1d6e@citrix.com> Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 464341C0008 X-Stat-Signature: popdie5fsiiz8joe58ybycbzm7wnajof X-HE-Tag: 1750477015-61999 X-HE-Meta: U2FsdGVkX1/M3n8GtWZrUoE9yPzwlfb7fTKoWspyOLVvBf+6RCw4iPRoLzNrL4Nm5gB5tihDvLG/L8CGQeJEyIgOu3eag89T8Ckz5IHjXnyoGlRYtFWXLK6bK3b67f+zzhe9DCiL0LgORn7fSUt5p6Aq9CbNFroAfwS9DLpMs2YhqoaOFGPTy98oz+mPRGm0pxmzg9HZhOvlwi4wZnzqkbM9++Tj2ACQHoaukyq6SXQPYAazgBh2802KpoHrNoGEKd7udkFcVf/bYLo0DC3DU1FuDqlIY5SIE1AyzJ7FCShSr/iL1R9Z5OsN9O2/qpnpYYi4bt6a0pvxwDmdU8/h4HsQJwVx3/EtfncSK1XiUvHe8SfwnC8gzZz8nqm8JrSSZYIxa5UzCYB74mpXxXwO2mRq9UQL96sgNYIHRmSDxc3UhmWt5r8wqL/94EA/Hm6rxS9WIaUcA9j2Y5wh1CZCi6KeD8UVuGhz7a062iAP3qKNbQnVy6TeuPUzMzv5rR7bueTIbsuzc8T8aAO6gC654SW0vykJLvWNi9Q5H+Zh/mOukgGXtwTwtBgEkKKiRhVDMEzQO+eMu7M5DY0xLihAvQqTUq/4BPtcMyAXFqpmfohOAjDebF7u+0qlc4TYFS18lKeevQ3OjDGvsk836qt1Hzoaciivm1T8zXRDASpsNH4JqJpI0zayEIQtMEvkshndScfw/7S8MSBsqqMzJ/wXpndreCgj8ULsdmk0kJZ1sx9gQuBokum8iEOIpdxIPPuNvT+HjwRBl7SZCaEELzAXKzZNUJRt6Mg/awza74DqY0C71Muu15QORc39q5HoNQYk4NOXuTdZJoFmHj1ok9Yf/kdgREVcfjpFPNOhD2sOID7dvDEoBB1eTY0HR1KBdBEwhQtCH/2RPxGvMMsxClhBr89erDK79swHj7YfbxxV/qGoa6hKhm3b7a4JS7f9hxqBTktLIpQhT/5fGazWUQ/ xc57CL34 MyrNhu24Pj0SW0iNKX8PGtjEq5BdhQEw7GBHFngUbOxNK+GoQAauA5LjHkIDfyBf0LvmDZzjifUrvd14nAdWB5k5QvkOK0mqk9qHGutSVHg4tnhHt6ab+crG/Ame64CNaIAfmwUCUqYHq3owSKPnaXY+BITqFs1bzMYSO4rcGqcWN/UrunJzp/n6As4GYc79Wn7dSRedHrM/05U9bqrYTLOR0H10ooBosm47GUlG2rCZy1bF2jUBai8UCfwMSbimvyT9bbvE1OWkwhB2BXYnpe9ja/oM1B5r+SOdFjldcc+vfe9r4DMP6iBwNCuWn8RDK5kicUhh870VZ11FW6nTVjUKvo12Fz/gmOS1fC2eBAfMZygaeY/hv4I4wNg== 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 June 20, 2025 4:21:38 PM PDT, Dave Hansen wr= ote: >On 6/20/25 16:08, Andrew Cooper wrote: >>> But, the resulting code is wonky=2E It needs to do something more like= this: >>> >>> if ((error_code & (X86_PF_WRITE | X86_PF_USER)) !=3D X86_PF_USER) >>> return false; >>> >>> if (error_code & X86_PF_INSTR)) >>> return __emulate_vsyscall(regs, address); >> To do this, LASS needs a proper interlink against NX || SMEP=2E >>=20 >> If neither NX nor SMEP are active, the CPU does not report X86_PF_INSTR= , >> meaning that fetches are reported as plain reads=2E >Interesting point=2E > >I think the easiest way to do this is just make a cpuid_deps[] entry for >LASS and NX=2E If there's a CPU where LASS is available but where NX isn'= t >available, we have much bigger problems on our hands=2E Indeed=2E There is exactly zero reason to support this case=2E