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 910E4C282EC for ; Sat, 15 Mar 2025 01:34:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EA955280002; Fri, 14 Mar 2025 21:34:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E2B45280001; Fri, 14 Mar 2025 21:34:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CA5F7280002; Fri, 14 Mar 2025 21:34:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id A7574280001 for ; Fri, 14 Mar 2025 21:34:38 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9110E81739 for ; Sat, 15 Mar 2025 01:34:38 +0000 (UTC) X-FDA: 83222065836.23.B21279F Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by imf29.hostedemail.com (Postfix) with ESMTP id 81BC6120008 for ; Sat, 15 Mar 2025 01:34:36 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="riIN/4Oi"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf29.hostedemail.com: domain of junaids@google.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=junaids@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742002476; 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=hvIL3fKVMU4+5xbZi0gtfEp1oSKzKEUDT0T+fM5EEa8=; b=YmDyRGElyk7NZ6cS9t85dM+L6zA9h2pVVYuQlA9ztpZA+k8w0Nk8hBrKinHK5z4O1K/jyw YIGL4UrtZoi2iXrlJSd22QNPWbgd8x73WYFbkTR+qDQ3MmV3lNGC+h+er9NeY5QPq+507o fPi9bBViDiKLo6jGbkxKGHQx4aHHSPA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742002476; a=rsa-sha256; cv=none; b=f8k80haNpbSjABZJkH2nPzRrD3SV2Nh2Jd2H5qM9tLpeUBw8ejcNCYSPFSA5SJLyUdQrks wbrMkxARj5AKAtHrafMJlY66IUI5qOmezr2r9418R2sPD1IaqG+xYNGrcSkdiWN5XaRpTk yke9G195ezLqKbwPewEiFZlZj1iLPPQ= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="riIN/4Oi"; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf29.hostedemail.com: domain of junaids@google.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=junaids@google.com Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2240aad70f2so100775ad.0 for ; Fri, 14 Mar 2025 18:34:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1742002475; x=1742607275; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=hvIL3fKVMU4+5xbZi0gtfEp1oSKzKEUDT0T+fM5EEa8=; b=riIN/4Oif/RYcGg9o+jwDA1NeuMPHbj/HOuKNZA0hdE2XRb3fNAlnEqeprI1J2LI3R rXgnrw7KNZ2/xump5AFddFOToyZL2XHoyXjenimnj6q8uPa9KwTft662WRlqpNEVeaQd lf1GQisQMqTENdUZVsFG36IGcNP4eNH57jh5nAypaSF1kJwRIc66yp53jhDgMT34nT5K qzltupztZyJ8h8I8NYxIZJmyjw5JgFT+pb65/2Lz279+/qPv2MJLgYAO8Ig5ZvNwTeTp MovFW6qXWDd/7JXk0H1lKBmB+CQ1APTMHymlDu2aVRmEAh0EDt4cRSFp/iriZG2UJZmV zOpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742002475; x=1742607275; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hvIL3fKVMU4+5xbZi0gtfEp1oSKzKEUDT0T+fM5EEa8=; b=wJc9i/pGekN3pKR+pCeiYgWdjnPFKgvFCiuRhivaaq6Gvsub5AH9LC2VFjGTjV21JY xpkTrJbuScRteUfM0O1W6w1yWiAU0yFKq1b9tQKpZsfEDovnVyRemUWE/CTu/tjW8kTF 6g3xiJc3cw2P3MDsDoEY1JvwVPSmUT5dQaVUFwdVWkk0zaS8eAWR8PZaJRGrEQc1cNtX wbS0hGE6OrkYvrR+WHHg5tk6FM9uKB99LZCnb0kxfElZLP3DMUCE2VOzAnsrH6Ldok34 lVljjTOSMKlGIl0FEo9CgjXrITsmcUXDfrZEn95UetuoXA2J9495hWQfJKcRB0uxf6s9 GcrQ== X-Forwarded-Encrypted: i=1; AJvYcCXZN3jf0R2uiyPEcQv2x9DqIZmk6JqW6k3wXmY0JjaOxa3ebPDaL+AvMSK9alZw8LMaJwiH0GpjKA==@kvack.org X-Gm-Message-State: AOJu0YytZC7VjXJYVBtQ/k7+LTtMHwnI34A+ttZ1zNv6KLwaD2TtmLe3 yDcNHcDqHbHwhdAvXJneE9XR5VcUpbjbkkesOCoSRnu+OwG8Y4sAF+z8y3iqjQ== X-Gm-Gg: ASbGnctPxCM1VUzQfkmUsxLpUkf0flns2Xj7zr4RaMmy91VdGgSpbWSPc4++UqOsZ/E RD/WlPOHdSyaeHwIw4nvus8y/YTDgpdOGWGu7pyyb0Iq1x65jOKLN21bhv9v1ouYcXAzJ7rK8bk 8Lefu7aDIFVNcdbXPkJG+clmu85vF34EcEPTEwdGbR4Nlu6KR5avulH9NlKBEO2wLSyZGsc8Kh5 F0NgooLfWmViXbQXSOUsBYEwRkclZdhcrT4H88650Z7cWid75v2qwh3U9WOz3lIZ+zVXjgRjmTr QbT8wlrcBn9qir9t7uYEoC0pdHVoKCmzycVKBjh5ZEBFapZaPFbG850Amg5RW9sP8lMneE34sUW uHiyVWKgIMBSBeEsnEA== X-Google-Smtp-Source: AGHT+IGtQWEpjfINSgs1H4vMHK6YoCgbTmxFs82ZqbvJLldcI2qhAcTUK9ygq9RBHTYJszRC0D1L4A== X-Received: by 2002:a17:903:2441:b0:20c:f40e:6ec3 with SMTP id d9443c01a7336-225f3eb1adbmr1168425ad.22.1742002474719; Fri, 14 Mar 2025 18:34:34 -0700 (PDT) Received: from ?IPV6:2600:1700:38d4:55d0:5a27:ba32:f0cd:cc20? ([2600:1700:38d4:55d0:5a27:ba32:f0cd:cc20]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-737116b1ed7sm3638401b3a.176.2025.03.14.18.34.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 14 Mar 2025 18:34:33 -0700 (PDT) Message-ID: <5aa114f7-3efb-4dab-8579-cb9af4abd3c0@google.com> Date: Fri, 14 Mar 2025 18:34:32 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC v2 03/29] mm: asi: Introduce ASI core API To: Borislav Petkov , Brendan Jackman Cc: akpm@linux-foundation.org, dave.hansen@linux.intel.com, yosryahmed@google.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, peterz@infradead.org, seanjc@google.com, tglx@linutronix.de, x86@kernel.org References: <20250227120607.GPZ8BVL2762we1j3uE@fat_crate.local> <20250228084355.2061899-1-jackmanb@google.com> <20250314131419.GJZ9Qrq8scAtDyBUcg@fat_crate.local> Content-Language: en-US From: Junaid Shahid In-Reply-To: <20250314131419.GJZ9Qrq8scAtDyBUcg@fat_crate.local> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 81BC6120008 X-Stat-Signature: oskra5g7kaqhm9ujsqewo1dummyof88t X-HE-Tag: 1742002476-82086 X-HE-Meta: U2FsdGVkX1+tWJTqp+XLCgxG3BaDbduXSKQZTqOndGiQ6pSfjURzHYpx5IOqTxWB/Y7CD9a1/lUk5h/0o4XfV8R0RdKnNfDCzPOD7DL8CD+7NrAuE0HT1wtA84jykS1remFcVayVm2cisw3KQzyhnMkxGjAGH6FudUyo4THEvd7fGFx3QFCk9lNtmzKLkXcCkDtMe5MNCed6AFT0CyfXKcxeURb5swkUcVQQTWMf8k2Py8lTmSh4W98twLMiRbpUEEAMqBZuTcEIiXDYpnXlz7TAdFzPAlL9NHXPIICUQUPNF30qH69GwA7mjv3GGSRG1H+whBnJCoOy+4glWCBCASAZinkiG+pSKFdJH0ZZTOBVUYguFKd2TY2UM4j6ny4rQ8y4i89mP2HfUKUFptY7Qkj3Afdn1DBmD2ijUyEOWRoUm4zRpZgDK7rw5yIPifVSEkNqcwSUR0tf3Px8drSVTK4r4ZuOpAIrnZWA3771lCj4bv8tpON1PZ/TU1fkvcGX70ZA9CwJS7SquqmwS8CisE5KskM7JbPqwMXkip5NPm3QEo8vH5S6LN5/EdZD3e1L+cjkQJjYAn42pHbGSLsMlnVjHT8b+PdphJZF1L6HYFVwBLAo+tDRqzPQis3wZF4Zavsn8z1Vw1Ne+mGU9Jlzf49kQgM4VjG6zh7VM5e03gmdEfZvP/rQKajb0AQuxm3nfDmKlyqvG+sYHcJi1kwQ/QIOM8cpGT96AiVubDGZbyCXos33GIXnIkPtMvFmq1bPvN93f2TBFiBDo/H6GFShipNPLQVvyV4jO8wiFB4bID2tROxGdGl6InjTXPDl0PqyuM5LakvvFcAT+RRQlG/u3LCKM0jyFmnJALiSPY8tCr+oplpT6+uzZvERF4L9rLnk0weYBrSPi9M55lqxdtxFlBF5lKQjxSvrak/Rt0OsO3v+smAMjf0z+IqOriB4gCUaGEHnPacINAKbdqD+T1k 4v9tL/Da o6urVQxroHYlLDuHV8uQVYfNYR0IJQgnEfMZwUhjFaUrupD8lxRB11TCpGFma5QBuXzqfqrj9y2p9t0mbvG1ZWYpi35LnEQ8HdZRpv2FV6AXksFV7s1rLOLVzkTXlzsIa3c6jK0/O3mnacJ2BXqbqxVl+JVKY4lDF8u43sGlqbdYORbeYaQVTYv/9nSD5+wldDY+qSIdFFLIMBPHeO36pmgcDwjUfVX8mYQeQ3IbtJDF7Pa0ZOSHRj4JjKIr/F6vNk+mKQv2KK3nKr7jSF++FAlkJh5iEkW0pMJMq2EQMRsE9f2L2F1lq+CZ7efKYm55m4eT98x67ZGkOG20pJUZWiAPIqAhTDPsxdW4jZzZ4gTyLH+aBMkJ/JEJCOQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000689, 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 3/14/25 6:14 AM, Borislav Petkov wrote: > On Fri, Feb 28, 2025 at 08:43:55AM +0000, Brendan Jackman wrote: >> (otherwise if we get an NMI between asi_enter() and >> asi_start_critical(), and that causes a #PF, we will start the >> critical section in the wrong address space and ASI won't do its job). >> So, we are somewhat forced to mix up a. and b. from above. > > I don't understand: asi_enter() can be interrupted by an NMI at any random > point. How is the current, imbalanced interface not vulnerable to this > scenario? > The reason this isn't a problem with the current asi_enter() is because there the equivalent of asi_start_critical() happens _before_ the address space switch. That ensures that even if an NMI arrives in the middle of asi_enter(), the NMI epilog will switch to the restricted address space and there is no window where an NMI (or any other interrupt/exception for that matter) would result in going into vmenter with an unrestricted address space. So asi_enter(); asi_start_critical(); vmenter(); asi_end_critical(); is broken as there is a problematic window between asi_enter() and asi_start_critical() as Brendan pointed out. However, asi_start_critical(); asi_enter(); vmenter(); asi_end_critical(); would work perfectly fine. Perhaps that might be the way to refactor the API? Thanks, Junaid