[PATCH v2 2/5] x86: remove unneeded 64-bit dependency in arch_enter_from_user_mode()

Juergen Gross posted 5 patches 3 years, 5 months ago
[PATCH v2 2/5] x86: remove unneeded 64-bit dependency in arch_enter_from_user_mode()
Posted by Juergen Gross 3 years, 5 months ago
The check for 64-bit mode when testing X86_FEATURE_XENPV isn't needed,
as Xen PV guests are no longer supported in 32-bit mode.

While at it switch from boot_cpu_has() to cpu_feature_enabled().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/include/asm/entry-common.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/entry-common.h b/arch/x86/include/asm/entry-common.h
index 674ed46d3ced..117903881fe4 100644
--- a/arch/x86/include/asm/entry-common.h
+++ b/arch/x86/include/asm/entry-common.h
@@ -24,8 +24,8 @@ static __always_inline void arch_enter_from_user_mode(struct pt_regs *regs)
 		/*
 		 * For !SMAP hardware we patch out CLAC on entry.
 		 */
-		if (boot_cpu_has(X86_FEATURE_SMAP) ||
-		    (IS_ENABLED(CONFIG_64BIT) && boot_cpu_has(X86_FEATURE_XENPV)))
+		if (cpu_feature_enabled(X86_FEATURE_SMAP) ||
+		    cpu_feature_enabled(X86_FEATURE_XENPV))
 			mask |= X86_EFLAGS_AC;
 
 		WARN_ON_ONCE(flags & mask);
-- 
2.35.3
Re: [PATCH v2 2/5] x86: remove unneeded 64-bit dependency in arch_enter_from_user_mode()
Posted by Dave Hansen 3 years, 5 months ago
On 11/4/22 00:26, Juergen Gross wrote:
> The check for 64-bit mode when testing X86_FEATURE_XENPV isn't needed,
> as Xen PV guests are no longer supported in 32-bit mode.

Tiniest nit if you revise this: please call out that this "no longer
supported" thing is enforced in Kconfig.  It's not just some random
edict where we pronounced 32-bit PV guests unsupported.

Otherwise:

Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
[tip: x86/cpu] x86/cpu: Remove unneeded 64-bit dependency in arch_enter_from_user_mode()
Posted by tip-bot2 for Juergen Gross 3 years, 4 months ago
The following commit has been merged into the x86/cpu branch of tip:

Commit-ID:     0bafc51babe2344e9b0ff6629a4f044727728349
Gitweb:        https://git.kernel.org/tip/0bafc51babe2344e9b0ff6629a4f044727728349
Author:        Juergen Gross <jgross@suse.com>
AuthorDate:    Fri, 04 Nov 2022 08:26:58 +01:00
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Tue, 22 Nov 2022 16:11:57 +01:00

x86/cpu: Remove unneeded 64-bit dependency in arch_enter_from_user_mode()

The check for 64-bit mode when testing X86_FEATURE_XENPV isn't needed,
as Xen PV guests are no longer supported in 32-bit mode, see

  a13f2ef168cb ("x86/xen: remove 32-bit Xen PV guest support").

While at it switch from boot_cpu_has() to cpu_feature_enabled().

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/r/20221104072701.20283-3-jgross@suse.com
---
 arch/x86/include/asm/entry-common.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/entry-common.h b/arch/x86/include/asm/entry-common.h
index 674ed46..1179038 100644
--- a/arch/x86/include/asm/entry-common.h
+++ b/arch/x86/include/asm/entry-common.h
@@ -24,8 +24,8 @@ static __always_inline void arch_enter_from_user_mode(struct pt_regs *regs)
 		/*
 		 * For !SMAP hardware we patch out CLAC on entry.
 		 */
-		if (boot_cpu_has(X86_FEATURE_SMAP) ||
-		    (IS_ENABLED(CONFIG_64BIT) && boot_cpu_has(X86_FEATURE_XENPV)))
+		if (cpu_feature_enabled(X86_FEATURE_SMAP) ||
+		    cpu_feature_enabled(X86_FEATURE_XENPV))
 			mask |= X86_EFLAGS_AC;
 
 		WARN_ON_ONCE(flags & mask);