All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikolay Borisov <nik.borisov@suse.com>
To: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	x86@kernel.org, David Kaplan <david.kaplan@amd.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Sean Christopherson <seanjc@google.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Asit Mallick <asit.k.mallick@intel.com>,
	Tao Zhang <tao1.zhang@intel.com>
Subject: Re: [PATCH v4 06/11] x86/vmscape: Move mitigation selection to a switch()
Date: Fri, 21 Nov 2025 16:27:05 +0200	[thread overview]
Message-ID: <c8d197cb-bd8d-42b0-a32b-8d8f77c96567@suse.com> (raw)
In-Reply-To: <20251119-vmscape-bhb-v4-6-1adad4e69ddc@linux.intel.com>



On 11/20/25 08:19, Pawan Gupta wrote:
> This ensures that all mitigation modes are explicitly handled, while
> keeping the mitigation selection for each mode together. This also prepares
> for adding BHB-clearing mitigation mode for VMSCAPE.
> 
> Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
> ---
>   arch/x86/kernel/cpu/bugs.c | 22 ++++++++++++++++++----
>   1 file changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
> index 1e9b11198db0fe2483bd17b1327bcfd44a2c1dbf..233594ede19bf971c999f4d3cc0f6f213002c16c 100644
> --- a/arch/x86/kernel/cpu/bugs.c
> +++ b/arch/x86/kernel/cpu/bugs.c
> @@ -3231,17 +3231,31 @@ early_param("vmscape", vmscape_parse_cmdline);
>   
>   static void __init vmscape_select_mitigation(void)
>   {
> -	if (!boot_cpu_has_bug(X86_BUG_VMSCAPE) ||
> -	    !boot_cpu_has(X86_FEATURE_IBPB)) {
> +	if (!boot_cpu_has_bug(X86_BUG_VMSCAPE)) {
>   		vmscape_mitigation = VMSCAPE_MITIGATION_NONE;
>   		return;
>   	}
>   
> -	if (vmscape_mitigation == VMSCAPE_MITIGATION_AUTO) {
> -		if (should_mitigate_vuln(X86_BUG_VMSCAPE))
> +	if ((vmscape_mitigation == VMSCAPE_MITIGATION_AUTO) &&
> +	    !should_mitigate_vuln(X86_BUG_VMSCAPE))
> +		vmscape_mitigation = VMSCAPE_MITIGATION_NONE;
> +
> +	switch (vmscape_mitigation) {
> +	case VMSCAPE_MITIGATION_NONE:
> +		break;
> +
> +	case VMSCAPE_MITIGATION_IBPB_ON_VMEXIT:
> +	case VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER:
> +		if (!boot_cpu_has(X86_FEATURE_IBPB))
> +			vmscape_mitigation = VMSCAPE_MITIGATION_NONE;
> +		break;
> +
> +	case VMSCAPE_MITIGATION_AUTO:
> +		if (boot_cpu_has(X86_FEATURE_IBPB))
>   			vmscape_mitigation = VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER;


IMO this patch is a net-negative because as per my reply to patch 9 you 
have effectively a dead branch:

The clear BHB_CLEAR_USER one, however it turns out you have yet another 
one: VMSCAPE_MITIGATION_IBPB_ON_VMEXIT as it's only ever set in 
vmscape_update_mitigation() which executes after '_select()' as well and 
additionally you duplicate the FEATURE_IBPB check.

So I think either dropping it or removing the superfluous branches is in 
order.

>   		else
>   			vmscape_mitigation = VMSCAPE_MITIGATION_NONE;
> +		break;
>   	}
>   }
>   
> 


  reply	other threads:[~2025-11-21 14:27 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-20  6:17 [PATCH v4 00/11] VMSCAPE optimization for BHI variant Pawan Gupta
2025-11-20  6:17 ` [PATCH v4 01/11] x86/bhi: x86/vmscape: Move LFENCE out of clear_bhb_loop() Pawan Gupta
2025-11-20 16:15   ` Nikolay Borisov
2025-11-20 16:56     ` Pawan Gupta
2025-11-20 16:58       ` Nikolay Borisov
2025-11-20  6:18 ` [PATCH v4 02/11] x86/bhi: Move the BHB sequence to a macro for reuse Pawan Gupta
2025-11-20 16:28   ` Nikolay Borisov
2025-11-20 16:57     ` Pawan Gupta
2025-11-25  0:21   ` Pawan Gupta
2025-11-20  6:18 ` [PATCH v4 03/11] x86/bhi: Make the depth of BHB-clearing configurable Pawan Gupta
2025-11-20 17:02   ` Nikolay Borisov
2025-11-20  6:18 ` [PATCH v4 04/11] x86/bhi: Make clear_bhb_loop() effective on newer CPUs Pawan Gupta
2025-11-21 12:33   ` Nikolay Borisov
2025-11-21 16:40   ` Dave Hansen
2025-11-21 16:45     ` Nikolay Borisov
2025-11-21 16:50       ` Dave Hansen
2025-11-21 18:16         ` Pawan Gupta
2025-11-21 18:42           ` Dave Hansen
2025-11-21 21:26             ` Pawan Gupta
2025-11-21 21:36               ` Dave Hansen
2025-11-24 19:21                 ` Pawan Gupta
2025-11-22 11:05               ` david laight
2025-11-24 19:31                 ` Pawan Gupta
2025-11-25 11:34                   ` david laight
2025-12-04  1:40                     ` Pawan Gupta
2025-12-04  9:15                       ` david laight
2025-12-04 21:56                         ` Pawan Gupta
2025-12-05  9:21                           ` david laight
2025-11-26 19:23     ` Pawan Gupta
2026-03-06 21:00   ` Jim Mattson
2026-03-06 22:32     ` Pawan Gupta
2026-03-06 22:57       ` Jim Mattson
2026-03-06 23:29         ` Pawan Gupta
2026-03-07  0:35           ` Jim Mattson
2026-03-07  1:00             ` Pawan Gupta
2026-03-07  1:10               ` Jim Mattson
2026-03-07  2:41                 ` Pawan Gupta
2026-03-07  5:05                   ` Jim Mattson
2026-03-09 22:29                     ` Pawan Gupta
2026-03-09 23:05                       ` Jim Mattson
2026-03-10  0:00                         ` Pawan Gupta
2026-03-10  0:08                           ` Jim Mattson
2026-03-10  0:52                             ` Pawan Gupta
2025-11-20  6:18 ` [PATCH v4 05/11] x86/vmscape: Rename x86_ibpb_exit_to_user to x86_predictor_flush_exit_to_user Pawan Gupta
2025-11-20  6:19 ` [PATCH v4 06/11] x86/vmscape: Move mitigation selection to a switch() Pawan Gupta
2025-11-21 14:27   ` Nikolay Borisov [this message]
2025-11-24 23:09     ` Pawan Gupta
2025-11-25 10:19       ` Nikolay Borisov
2025-11-25 17:45         ` Pawan Gupta
2025-11-20  6:19 ` [PATCH v4 07/11] x86/vmscape: Use write_ibpb() instead of indirect_branch_prediction_barrier() Pawan Gupta
2025-11-21 12:59   ` Nikolay Borisov
2025-11-20  6:19 ` [PATCH v4 08/11] x86/vmscape: Use static_call() for predictor flush Pawan Gupta
2025-11-20  6:19 ` [PATCH v4 09/11] x86/vmscape: Deploy BHB clearing mitigation Pawan Gupta
2025-11-21 14:18   ` Nikolay Borisov
2025-11-21 18:29     ` Pawan Gupta
2025-11-21 14:23   ` Nikolay Borisov
2025-11-21 18:41     ` Pawan Gupta
2025-11-21 18:53       ` Nikolay Borisov
2025-11-21 21:29         ` Pawan Gupta
2025-11-20  6:20 ` [PATCH v4 10/11] x86/vmscape: Override conflicting attack-vector controls with =force Pawan Gupta
2025-11-21 18:04   ` Nikolay Borisov
2025-11-20  6:20 ` [PATCH v4 11/11] x86/vmscape: Add cmdline vmscape=on to override attack vector controls Pawan Gupta
2025-11-25 11:41   ` Nikolay Borisov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c8d197cb-bd8d-42b0-a32b-8d8f77c96567@suse.com \
    --to=nik.borisov@suse.com \
    --cc=asit.k.mallick@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=david.kaplan@amd.com \
    --cc=hpa@zytor.com \
    --cc=jpoimboe@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pawan.kumar.gupta@linux.intel.com \
    --cc=pbonzini@redhat.com \
    --cc=seanjc@google.com \
    --cc=tao1.zhang@intel.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.