[GIT PULL] x86/cpu for 5.19

From: Borislav Petkov
Date: Mon May 23 2022 - 08:07:08 EST


Hi Linus,

please pull what is more a janitorial set of changes to x86/cpu.

Depending on the merge order, this one is causing some trivial merge
conflicts too, see below.

--

The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:

Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/x86_cpu_for_v5.19_rc1

for you to fetch changes up to 2147c438fde135d6c145a96e373d9348e7076f7f:

x86/speculation: Add missing prototype for unpriv_ebpf_notify() (2022-04-28 11:12:17 +0200)

----------------------------------------------------------------
- Remove a bunch of chicken bit options to turn off CPU features which
are not really needed anymore

- Misc fixes and cleanups

----------------------------------------------------------------
Borislav Petkov (6):
x86/cpu: Allow feature bit names from /proc/cpuinfo in clearcpuid=
x86/cpu: Remove "nosep"
x86/cpu: Remove CONFIG_X86_SMAP and "nosmap"
x86/cpu: Remove "nosmep"
x86/cpu: Remove "noexec"
x86/cpu: Remove "noclflush"

Josh Poimboeuf (1):
x86/speculation: Add missing prototype for unpriv_ebpf_notify()

Matthieu Baerts (1):
x86/pm: Fix false positive kmemleak report in msr_build_context()

Ricardo Cañuelo (1):
x86/speculation/srbds: Do not try to turn mitigation off when not supported

Documentation/admin-guide/kernel-parameters.txt | 24 +++---
Documentation/x86/cpuinfo.rst | 5 +-
Documentation/x86/x86_64/boot-options.rst | 9 ---
arch/x86/Kconfig | 11 ---
arch/x86/include/asm/cpufeature.h | 7 +-
arch/x86/include/asm/disabled-features.h | 8 +-
arch/x86/include/asm/proto.h | 1 -
arch/x86/include/asm/smap.h | 24 ------
arch/x86/include/asm/suspend_32.h | 2 +-
arch/x86/include/asm/suspend_64.h | 12 ++-
arch/x86/kernel/cpu/bugs.c | 7 ++
arch/x86/kernel/cpu/common.c | 101 +++++++++++++-----------
arch/x86/kernel/setup.c | 28 ++++++-
arch/x86/mm/Makefile | 3 +-
arch/x86/mm/init_64.c | 1 -
arch/x86/mm/setup_nx.c | 62 ---------------
include/linux/bpf.h | 2 +
scripts/Makefile.build | 2 +-
scripts/link-vmlinux.sh | 6 +-
tools/arch/x86/include/asm/disabled-features.h | 8 +-
20 files changed, 120 insertions(+), 203 deletions(-)
delete mode 100644 arch/x86/mm/setup_nx.c

---

Merge conflict resolution:

diff --cc arch/x86/include/asm/disabled-features.h
index b37de8268c9a,1ae0fab7d902..36369e76cc63
--- a/arch/x86/include/asm/disabled-features.h
+++ b/arch/x86/include/asm/disabled-features.h
@@@ -85,8 -73,8 +79,8 @@@
#define DISABLED_MASK5 0
#define DISABLED_MASK6 0
#define DISABLED_MASK7 (DISABLE_PTI)
-#define DISABLED_MASK8 0
+#define DISABLED_MASK8 (DISABLE_TDX_GUEST)
- #define DISABLED_MASK9 (DISABLE_SMAP|DISABLE_SGX)
+ #define DISABLED_MASK9 (DISABLE_SGX)
#define DISABLED_MASK10 0
#define DISABLED_MASK11 0
#define DISABLED_MASK12 0
diff --cc arch/x86/kernel/cpu/common.c
index f0baf1b7522e,7dd7604cf46a..2e9142797c99
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@@ -1856,18 -1868,8 +1869,10 @@@ void identify_secondary_cpu(struct cpui
validate_apic_and_package_id(c);
x86_spec_ctrl_setup_ap();
update_srbds_msr();
+
+ tsx_ap_init();
}

- static __init int setup_noclflush(char *arg)
- {
- setup_clear_cpu_cap(X86_FEATURE_CLFLUSH);
- setup_clear_cpu_cap(X86_FEATURE_CLFLUSHOPT);
- return 1;
- }
- __setup("noclflush", setup_noclflush);
-
void print_cpu_info(struct cpuinfo_x86 *c)
{
const char *vendor = NULL;
diff --cc scripts/Makefile.build
index 33c1ed581522,7e7aa1d030a6..3911bfc21702
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@@ -231,9 -231,9 +231,9 @@@ objtool_args =
$(if $(part-of-module), --module) \
$(if $(CONFIG_X86_KERNEL_IBT), --lto --ibt) \
$(if $(CONFIG_FRAME_POINTER),, --no-fp) \
- $(if $(CONFIG_GCOV_KERNEL)$(CONFIG_LTO_CLANG), --no-unreachable)\
+ $(if $(CONFIG_GCOV_KERNEL), --no-unreachable) \
$(if $(CONFIG_RETPOLINE), --retpoline) \
- $(if $(CONFIG_X86_SMAP), --uaccess) \
+ --uaccess \
$(if $(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL), --mcount) \
$(if $(CONFIG_SLS), --sls)


--
Regards/Gruss,
Boris.

SUSE Software Solutions Germany GmbH
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Martje Boudien Moerman
(HRB 36809, AG Nürnberg)