2022-11-04 08:00:04

by Jürgen Groß

[permalink] [raw]
Subject: [PATCH v2 2/5] x86: 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.

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

Signed-off-by: Juergen Gross <[email protected]>
---
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



2022-11-04 15:17:36

by Dave Hansen

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

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 <[email protected]>



Subject: [tip: x86/cpu] x86/cpu: Remove unneeded 64-bit dependency in arch_enter_from_user_mode()

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 <[email protected]>
AuthorDate: Fri, 04 Nov 2022 08:26:58 +01:00
Committer: Borislav Petkov <[email protected]>
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 <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Acked-by: Dave Hansen <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
---
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);