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 27DB1C54E49 for ; Thu, 7 Mar 2024 17:22:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8A2D96B0207; Thu, 7 Mar 2024 12:22:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 82ADE6B0208; Thu, 7 Mar 2024 12:22:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6F2196B0209; Thu, 7 Mar 2024 12:22:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 5D7336B0207 for ; Thu, 7 Mar 2024 12:22:56 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id F31661404F8 for ; Thu, 7 Mar 2024 17:22:55 +0000 (UTC) X-FDA: 81870913110.11.31CFEAB Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by imf22.hostedemail.com (Postfix) with ESMTP id 10E37C001D for ; Thu, 7 Mar 2024 17:22:52 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=VZB0BAcN; spf=none (imf22.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 198.175.65.9) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709832173; 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=Qdjzg0M1smoZeNNEUt6vBFOEG9aWAKS0UDe8a7+At/s=; b=w8LpfQ51WE/pa3777gq5WgYM7rdZvqvOrGk+WEo1N/lcO81Y6GOdigDxS3yIid53wAxDDi ZQUODGg/342dOv3jolS0OoXGHEP4ftIlLI0LQNbpzlDuajZNakyRtpTMw3JW+DnWgSEIxd bEeZ/LS0n+WY0sPyvjtCNGcKXKTeF7U= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709832173; a=rsa-sha256; cv=none; b=H2pJAZyGkyWKPlciry/pEhoN5rDEBHNKeteoK4pOWnqcICJXBh1cmjDpTYqto9dg/cydCl /IfmhBKeTaIGi6r6pghWXZQlhHPAG9vcnF7HK5tdJKJtYyhGYz4/gDUexlwJ2svan05ER1 UNz4YP8zoK+92aj+boOoxN7jRDfj2P0= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=VZB0BAcN; spf=none (imf22.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 198.175.65.9) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709832173; x=1741368173; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=TmbB09GJpy+aCGZ8NeqMnq6ND5GYUdhyNoFR8Mz5HZQ=; b=VZB0BAcND0jEHtyqELTVIJB7px2J9uUBnkxuOCfpzPNb6Mpc+uDEFW/Y Qpo7I1ns6lAM8WRMHeW3OapGPzHi10c4M2ttwx/ED0ICtKzOzizsMY+Gt 3fAJ6z5ZogN+xK1o9Rt+KlWn0w3dL3FZVjr98ePkJoJwW9rjKD6KvoS2a 2cbIlNGFlB2naHDN2NZ//bYhOECuSKm6ta8xrEY1cAn745tWX1TJiZLQB 0GZDiOWm67s7TlnCcb9VqLbUE66tNnjydHe7acenxxnh5dnuxi3Kcr3uT NTpfVowGTyMvRnD/+gVhYCgDa7yVP1GYT0NAINjr6sAP6T/EUrhYTuQnk Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11006"; a="26986039" X-IronPort-AV: E=Sophos;i="6.07,107,1708416000"; d="scan'208";a="26986039" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Mar 2024 09:22:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,11006"; a="937046421" X-IronPort-AV: E=Sophos;i="6.07,107,1708416000"; d="scan'208";a="937046421" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 07 Mar 2024 09:22:37 -0800 Received: by black.fi.intel.com (Postfix, from userid 1000) id 3B719128; Thu, 7 Mar 2024 19:22:36 +0200 (EET) Date: Thu, 7 Mar 2024 19:22:36 +0200 From: "Kirill A. Shutemov" To: Yosry Ahmed Cc: Andrew Morton , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Peter Zijlstra , Andy Lutomirski , x86@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 1/3] x86/mm: fix LAM cr3 mask inconsistency during context switch Message-ID: References: <20240307133916.3782068-1-yosryahmed@google.com> <20240307133916.3782068-2-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240307133916.3782068-2-yosryahmed@google.com> X-Rspamd-Queue-Id: 10E37C001D X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 6ww6gagycr7u39cdcj4op8ed8y1kuwm3 X-HE-Tag: 1709832172-624859 X-HE-Meta: U2FsdGVkX1+0nLS2L+VqmQn9AK4raLucYgKePkMYQ0Q3r1RjggWgZmy/unMm+44K3LmSavhpZk3wo72lV/XgB2ote2zYFyWYXthqqrg3j+7AUUb4rzCZePuJeRwTsFIQxIeZvJUn5S6FusA5FiuMcBeuUpqjOIf1MlLDdFM1ExCNuOjbySbdRiUjJibnIZDplbMUd7orUkIOP1tBGZYxZxLZNUyx8wD5bhBtYs0b1KkpVWSHn4ygR6+pXj/v7gePgWen0NYBPCwfY0PrL2HAekR24kLJORpzi7YnSf+Z+isCijWazV/ZQ+7Oygc/Uf6ozcUMVyuIDjjpevShbsF97u6DTzQRXzl+mvczgceZq1/EISehujV9pEGLmX95Nf4gNW+PXcuR0eQKhpNxXcK9hSw9UXt1JpJX296SzM4j3cUf5MtyX4Er4GcjrNnbc2vcGcu5sVjAxD4xgExa4lvNzByDgUVESGoFOOyChxbnMa2IN1+fmWo+ZNpyETttnWMTrNebOuwu9W53EQzb/sLgQA3qo/L94bUzjKWBCwDbpPUll2ZSFqfSUnIfEAou2bnN5eGbUo/K4GBh671841a9RElepHXT6vN1uoEBFd73LBJIjlIiG8pAXefzvcBE210xika/PTqSarmhzz5EeFt72heU5p0cafiyIPn0N0mr4J2ehRkf3KrYRgesN5Iufkhz4TYBi4HJCW1TnJ1RUi86G7rc09sJnZEAxpRj0JgPDMFUZZMc067RRHqj9oGkM8PE8I7z719fVMHZ7rwaqxDVUq7Qktbre4Hldg3JG85EqvMMZhF3LCuNeNsi+bVF9tavw6DxEQh4Zeo= 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 Thu, Mar 07, 2024 at 01:39:14PM +0000, Yosry Ahmed wrote: > In switch_mm_irqs_off(), we read the 'mm->context.lam_cr3_mask' into > 'new_lam', which is later passed to load_new_mm_cr3(). However, there is > a call to set_tlbstate_lam_mode() in between which will read > 'mm->context.lam_cr3_mask' again and set 'cpu_tlbstate.lam' accordingly. > If we race with another thread updating 'mm->context.lam_cr3_mask', the > value in 'cpu_tlbstate.lam' could end up being different from CR3. What other thread? LAM can only be enabled when the process has single thread. And cannot be disabled. See MM_CONTEXT_LOCK_LAM. > While we are at it, remove the misguiding comment that states that > 'new_lam' may not match tlbstate_lam_cr3_mask() if a race occurs. The comment is indeed misguiding, but for different reason. It is leftover from the earlier version of LAM patchset. -- Kiryl Shutsemau / Kirill A. Shutemov