From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19]) (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 22757387356; Tue, 24 Mar 2026 18:18:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.19 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774376328; cv=none; b=WjhTIWM2mf9zwFeOZ+cxkUDCFpXYKQHz2zQhdGUhmhDFOGrYeIOl0DkKuNwpeNDfVtNO6POcdLBZYOs4jhcBt19xhsKL4V7ilBm8xIchTV+zsmeNK40hhQNVAECSRqz8qYAOtOo8LHJdJdWtVYMqFUvnphK7OILBd5CjnSkTlGA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774376328; c=relaxed/simple; bh=/LpaN8rl4GCEDdEvnTvtBW4O1Y6doVjK38xWXFBBDrQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=tHKzLQizHK0TKiCCDGyi5Ri/5tmI89NvCrw63oau30NREQ0f8fqIsP3qY6f02UwDK0YyHZUL7AuCgXd6VV5FIiz0rZnPZWnXs2MYA6YUy745/xt0JKQ2QMIC4nCZSYvyWy/r2x3ve0l8K/MUJ+/Mzz91gJGSq6+iLOr+9Uj4ITY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=DgdNAnII; arc=none smtp.client-ip=192.198.163.19 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="DgdNAnII" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1774376327; x=1805912327; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=/LpaN8rl4GCEDdEvnTvtBW4O1Y6doVjK38xWXFBBDrQ=; b=DgdNAnIIwBuNrnlWGSJ8nsX5eXzLdXeTGZG9D7nQBqK6cornIGDjb7aB x6a/zJhxuXZPvpGP5CTIyDrudKXCgYAFMCgMoSRtdYNRkKfAym7rcBBLN NkObbRcBIfM+ltTOaTg3YbmBOm9cnMywYYUMBL8Z8KWW2EeNWlCfQLXvN cLv/jafVp/SOaDePEWIBkgEevEYEczPZznitT8JPu5qPP3ZUNLPlStzoz HZxCNV6VBoiB/zQ8GvWQwJY4NlvNg6tkMLizg5yZFdmWqL4JxzHXKzEhe k0LXcy6hnCRAxt2YNZeL9k0kYvA9UJxfjiA9fbBds4pNYNsniqEgUUE9J Q==; X-CSE-ConnectionGUID: ympmxbquTIKYdD/VVwUluw== X-CSE-MsgGUID: BB81UbcfS3ey6wzWO9HF/Q== X-IronPort-AV: E=McAfee;i="6800,10657,11739"; a="74429599" X-IronPort-AV: E=Sophos;i="6.23,138,1770624000"; d="scan'208";a="74429599" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2026 11:18:47 -0700 X-CSE-ConnectionGUID: 0E2tp4xnR86/WS0a5+ZwGw== X-CSE-MsgGUID: dnjGq3PESKyOF94JbD0moQ== X-ExtLoop1: 1 Received: from guptapa-desk.jf.intel.com (HELO desk) ([10.165.239.46]) by fmviesa003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2026 11:18:45 -0700 Date: Tue, 24 Mar 2026 11:18:44 -0700 From: Pawan Gupta To: x86@kernel.org, Jon Kohler , Nikolay Borisov , "H. Peter Anvin" , Josh Poimboeuf , David Kaplan , Sean Christopherson , Borislav Petkov , Dave Hansen , Peter Zijlstra , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , KP Singh , Jiri Olsa , "David S. Miller" , David Laight , Andy Lutomirski , Thomas Gleixner , Ingo Molnar , David Ahern , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , Stanislav Fomichev , Hao Luo , Paolo Bonzini , Jonathan Corbet Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, Asit Mallick , Tao Zhang , bpf@vger.kernel.org, netdev@vger.kernel.org, linux-doc@vger.kernel.org Subject: [PATCH v8 09/10] x86/vmscape: Resolve conflict between attack-vectors and vmscape=force Message-ID: <20260324-vmscape-bhb-v8-9-68bb524b3ab9@linux.intel.com> X-Mailer: b4 0.15-dev References: <20260324-vmscape-bhb-v8-0-68bb524b3ab9@linux.intel.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260324-vmscape-bhb-v8-0-68bb524b3ab9@linux.intel.com> vmscape=force option currently defaults to AUTO mitigation. This lets attack-vector controls to override the vmscape mitigation. Preventing the user from being able to force VMSCAPE mitigation. When vmscape mitigation is forced, allow it be deployed irrespective of attack vectors. Introduce VMSCAPE_MITIGATION_ON that wins over attack-vector controls. Reviewed-by: Nikolay Borisov Signed-off-by: Pawan Gupta --- arch/x86/kernel/cpu/bugs.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index 8cacd9474fdf..ba714f600249 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -3053,6 +3053,7 @@ static void __init srso_apply_mitigation(void) enum vmscape_mitigations { VMSCAPE_MITIGATION_NONE, VMSCAPE_MITIGATION_AUTO, + VMSCAPE_MITIGATION_ON, VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER, VMSCAPE_MITIGATION_IBPB_ON_VMEXIT, VMSCAPE_MITIGATION_BHB_CLEAR_EXIT_TO_USER, @@ -3061,6 +3062,7 @@ enum vmscape_mitigations { static const char * const vmscape_strings[] = { [VMSCAPE_MITIGATION_NONE] = "Vulnerable", /* [VMSCAPE_MITIGATION_AUTO] */ + /* [VMSCAPE_MITIGATION_ON] */ [VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER] = "Mitigation: IBPB before exit to userspace", [VMSCAPE_MITIGATION_IBPB_ON_VMEXIT] = "Mitigation: IBPB on VMEXIT", [VMSCAPE_MITIGATION_BHB_CLEAR_EXIT_TO_USER] = "Mitigation: Clear BHB before exit to userspace", @@ -3080,7 +3082,7 @@ static int __init vmscape_parse_cmdline(char *str) vmscape_mitigation = VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER; } else if (!strcmp(str, "force")) { setup_force_cpu_bug(X86_BUG_VMSCAPE); - vmscape_mitigation = VMSCAPE_MITIGATION_AUTO; + vmscape_mitigation = VMSCAPE_MITIGATION_ON; } else if (!strcmp(str, "auto")) { vmscape_mitigation = VMSCAPE_MITIGATION_AUTO; } else { @@ -3112,6 +3114,7 @@ static void __init vmscape_select_mitigation(void) break; case VMSCAPE_MITIGATION_AUTO: + case VMSCAPE_MITIGATION_ON: /* * CPUs with BHI_CTRL(ADL and newer) can avoid the IBPB and use * BHB clear sequence. These CPUs are only vulnerable to the BHI @@ -3245,6 +3248,7 @@ void cpu_bugs_smt_update(void) switch (vmscape_mitigation) { case VMSCAPE_MITIGATION_NONE: case VMSCAPE_MITIGATION_AUTO: + case VMSCAPE_MITIGATION_ON: break; case VMSCAPE_MITIGATION_IBPB_ON_VMEXIT: case VMSCAPE_MITIGATION_IBPB_EXIT_TO_USER: -- 2.34.1