From nobody Tue Sep 29 08:25:36 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FF4F409129; Mon, 10 Aug 2026 16:47:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786380451; cv=none; b=gKk4jqf1U0VJPsoWNsVghIKbfSnjNys5pFl7IAHscyacNFL7WK2z0pdbnNEKkC/09IxnuPrVvxyk86Ae/XLUTralUMazcFI8aEYGXTFm6OjYo0ZlBR7ufbh02ck5+E/U0jyGLH7X5xgdT8DJGinCZ6HVwLLHyIHR9uevVoASeg0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786380451; c=relaxed/simple; bh=H6arSrI+Ali98tysintOy0t9scsGHWTwU619dpj0BSs=; h=Date:From:To:Subject:Cc:In-Reply-To:References:MIME-Version: Message-ID:Content-Type; b=RIAhDJjCXwwVC3lbQ7y6nOG01WaVAfFiLOasbx6GbrIzyerL88ow1aPRyfwuT/cYgGw/RHyW+HHvBaq54/6ksnEZE3NP3cq37pueJeNkJWteH4yb6HlbDMWqThj/SGxxNLCWy0DgZuhCc+jN43KX2NiRJb/u9dt5wQn97upO9RM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=oMmQ7nLI; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=rlD+w8mx; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="oMmQ7nLI"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="rlD+w8mx" Date: Mon, 10 Aug 2026 16:47:26 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1786380448; h=from:from:sender:sender:reply-to: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; bh=zfzWc282AKa0aYR4SI3Fl5uzpqSt0QPVAEqdL5BShQ8=; b=oMmQ7nLI7ZMIgD+VR1qz+cYRXFP1zeZPl+OIbOZjU7SynW1I+ZCJXYdAPaYR4KU8gspgmN ZIATrewzlQT1oka3Z5YgY3H9EemHHTh5hUd13cByaB0+3d1mulNSmf+WTaazbW4aZngFA0 fMsicCluGoTaBNHbZu2Mm2dJX10dbzwo2yHPLpGLrd3AMQrxtbXIEGX/A+akTA+ylyr38f r7G2AFn8TvSNbvzC9VTk/hkKCNcSaO7WNm7sEYo0rDmcktSwxQvKma6/lMoywacOl00/Be cC5wNRIdg3pMcITpg83C9SByKpA3rbAsKzID/sFdg51a5rPhedZhQi0PXftwxQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1786380448; h=from:from:sender:sender:reply-to: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; bh=zfzWc282AKa0aYR4SI3Fl5uzpqSt0QPVAEqdL5BShQ8=; b=rlD+w8mx6sMhiuJWGnIqbFqvzDrKrV43oJHN3I6YyAOTmXRA41NIAPcog5/inpwBWMYHBK f84+oTprX4ofIqCg== From: "tip-bot2 for Rik van Riel" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: x86/urgent] x86/CPU: Add a tlbi= cmdline switch Cc: Borislav Petkov , Rik van Riel , , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20260729204341.3eb0b5ea@fangorn> References: <20260729204341.3eb0b5ea@fangorn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <178638044659.442315.738092015186287682.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Precedence: bulk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The following commit has been merged into the x86/urgent branch of tip: Commit-ID: abe7c8b09bd72a9c726016257c6281f129b4c02d Gitweb: https://git.kernel.org/tip/abe7c8b09bd72a9c726016257c6281f12= 9b4c02d Author: Rik van Riel AuthorDate: Thu, 06 Aug 2026 08:54:57 -07:00 Committer: Borislav Petkov (AMD) CommitterDate: Mon, 10 Aug 2026 07:09:18 -07:00 x86/CPU: Add a tlbi=3D cmdline switch With the recently found INVLPGB / TLBSYNC issue, there has been some interest in disabling INVLPGB-based TLB flushing, in order to rule out that CPU issue as a cause of userspace crashes. Add a kernel command line option to control the TLB flushing behavior. If the need arises, we will add a "tlbi=3Dbroadcast" for the case when TLB invalidation broadcasts need to be explicitly selected, but this is not needed now yet. [ bp: Rewrite commit message, move to cpu/common.c, add documentation. ] Fixes: 767ae437a32d ("x86/mm: Add INVLPGB feature and Kconfig entry") Suggested-by: Borislav Petkov Signed-off-by: Rik van Riel Signed-off-by: Borislav Petkov (AMD) Cc: Link: https://patch.msgid.link/20260729204341.3eb0b5ea@fangorn --- Documentation/admin-guide/kernel-parameters.txt | 4 ++++ arch/x86/kernel/cpu/common.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentatio= n/admin-guide/kernel-parameters.txt index 3d35270..e8ff369 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -7568,6 +7568,10 @@ Kernel parameters See Documentation/admin-guide/mm/transhuge.rst for more details. =20 + tlbi=3D [X86-64] + Format: {ipi} + ipi: switch to IPI-based TLB flushing + topology=3D [S390,EARLY] Format: {off | on} Specify if the kernel should make use of the cpu diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index a3df21d..a3caddd 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -2664,3 +2664,13 @@ void __init arch_cpu_finalize_init(void) */ mem_encrypt_init(); } + +/* Control TLB flushing methods */ +static int __init tlbi_setup(char *str) +{ + if (!strcmp(str, "ipi")) + setup_clear_cpu_cap(X86_FEATURE_INVLPGB); + + return 1; +} +__setup("tlbi=3D", tlbi_setup);