Linux 5.15.207
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.15.207 kernel.
All users of the 5.15 kernel series must upgrade.
The updated 5.15.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.15.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 arch/x86/include/asm/cpufeatures.h | 6 +- arch/x86/include/asm/msr-index.h | 1 arch/x86/kernel/cpu/amd.c | 88 +++++++++++++++++++++++++++---- include/linux/sched.h | 3 + kernel/exit.c | 1 kernel/ptrace.c | 22 +++++-- tools/arch/x86/include/asm/cpufeatures.h | 2 tools/arch/x86/include/asm/msr-index.h | 3 + 9 files changed, 110 insertions(+), 18 deletions(-)
Borislav Petkov (AMD) (4):
x86/CPU/AMD: Add ZenX generations flags
x86/CPU/AMD: Call the spectral chicken in the Zen2 init function x86/CPU/AMD: Rename init_amd_zn() to init_amd_zen_common() x86/CPU/AMD: Add X86_FEATURE_ZEN1
Greg Kroah-Hartman (1):
Linux 5.15.207
Linus Torvalds (1):
ptrace: slightly saner 'get_dumpable()' logic
Prathyushi Nangia (1):
x86/CPU/AMD: Prevent improper isolation of shared resources in Zen2's op cache
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 15 -SUBLEVEL = 206 +SUBLEVEL = 207 EXTRAVERSION = NAME = Trick or Treat
arch/x86/include/asm/cpufeatures.h +5 -1
@@ -219,7 +219,7 @@#define X86_FEATURE_IBRS ( 7*32+25)/* Indirect Branch Restricted Speculation */ #define X86_FEATURE_IBPB ( 7*32+26)/* "ibpb" Indirect Branch Prediction Barrier without a guaranteed RSB flush */ #define X86_FEATURE_STIBP ( 7*32+27)/* Single Thread Indirect Branch Predictors */ -#define X86_FEATURE_ZEN ( 7*32+28)/* "" CPU is AMD family 0x17 or above (Zen) */ +#define X86_FEATURE_ZEN ( 7*32+28)/* "" Generic flag for all Zen and newer */ #define X86_FEATURE_L1TF_PTEINV ( 7*32+29)/* "" L1TF workaround PTE inversion */ #define X86_FEATURE_IBRS_ENHANCED ( 7*32+30)/* Enhanced IBRS */ #define X86_FEATURE_MSR_IA32_FEAT_CTL ( 7*32+31)/* "" MSR IA32_FEAT_CTL configured */
@@ -310,6 +310,10 @@#define X86_FEATURE_SRSO_ALIAS (11*32+25)/* "" AMD BTB untrain RETs through aliasing */ #define X86_FEATURE_IBPB_ON_VMEXIT (11*32+26)/* "" Issue an IBPB only on VMEXIT */ #define X86_FEATURE_APIC_MSRS_FENCE (11*32+27)/* "" IA32_TSC_DEADLINE and X2APIC MSRs need fencing */ +#define X86_FEATURE_ZEN2 (11*32+28)/* "" CPU based on Zen2 microarchitecture */ +#define X86_FEATURE_ZEN3 (11*32+29)/* "" CPU based on Zen3 microarchitecture */ +#define X86_FEATURE_ZEN4 (11*32+30)/* "" CPU based on Zen4 microarchitecture */ +#define X86_FEATURE_ZEN1 (11*32+31)/* "" CPU based on Zen1 microarchitecture */ /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX_VNNI (12*32+ 4)/* AVX VNNI instructions */
arch/x86/include/asm/msr-index.h +1 -0
@@ -580,6 +580,7 @@/* Zen4 */ #define MSR_ZEN4_BP_CFG 0xc001102e#define MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT 5 +#define MSR_ZEN2_BP_CFG_BUG_FIX_BIT 33/* Zen 2 */ #define MSR_ZEN2_SPECTRAL_CHICKEN 0xc00110e3
arch/x86/kernel/cpu/amd.c +79 -9
126 lines not on this page · raw message
include/linux/sched.h +3 -0
@@ -896,6 +896,9 @@ struct task_struct {*/ unsigned sched_remote_wakeup:1; +/* Save user-dumpable when mm goes away */ + unsigned user_dumpable:1; +/* Bit to tell LSMs we're in execve(): */ unsigned in_execve:1; unsigned in_iowait:1;
kernel/exit.c +1 -0
@@ -540,6 +540,7 @@ static void exit_mm(void)*/ smp_mb__after_spinlock ();local_irq_disable (); + current->user_dumpable = (get_dumpable (mm) ==SUID_DUMP_USER ); current->mm =NULL ;membarrier_update_current_mm (NULL );enter_lazy_tlb (mm, current);
kernel/ptrace.c +16 -6
@@ -288,11 +288,24 @@ static bool ptrace_has_cap(struct user_namespace *ns, unsigned int mode)return ns_capable (ns,CAP_SYS_PTRACE ); } +static bool task_still_dumpable (struct task_struct *task,unsigned int mode) +{ +struct mm_struct *mm = task->mm; +if (mm) { +if (get_dumpable (mm) ==SUID_DUMP_USER ) +return true; +return ptrace_has_cap (mm->user_ns, mode); + } + +if (task->user_dumpable) +return true; +return ptrace_has_cap (&init_user_ns, mode); +} +/* Returns 0 on success, -errno on denial. */ static int __ptrace_may_access (struct task_struct *task,unsigned int mode) {const struct cred *cred =current_cred (), *tcred; -struct mm_struct *mm;kuid_t caller_uid;kgid_t caller_gid;
@@ -353,11 +366,8 @@ static int __ptrace_may_access(struct task_struct *task, unsigned int mode)* Pairs with a write barrier in commit_creds(). */ smp_rmb (); - mm = task->mm; -if (mm && - ((get_dumpable (mm) !=SUID_DUMP_USER ) && - !ptrace_has_cap (mm->user_ns, mode))) -return -EPERM ; +if (!task_still_dumpable (task, mode)) +return -EPERM ;return security_ptrace_access_check (task, mode); }
tools/arch/x86/include/asm/cpufeatures.h +1 -1
@@ -219,7 +219,7 @@#define X86_FEATURE_IBRS ( 7*32+25)/* Indirect Branch Restricted Speculation */ #define X86_FEATURE_IBPB ( 7*32+26)/* Indirect Branch Prediction Barrier */ #define X86_FEATURE_STIBP ( 7*32+27)/* Single Thread Indirect Branch Predictors */ -#define X86_FEATURE_ZEN ( 7*32+28)/* "" CPU is AMD family 0x17 or above (Zen) */ +#define X86_FEATURE_ZEN ( 7*32+28)/* "" Generic flag for all Zen and newer */ #define X86_FEATURE_L1TF_PTEINV ( 7*32+29)/* "" L1TF workaround PTE inversion */ #define X86_FEATURE_IBRS_ENHANCED ( 7*32+30)/* Enhanced IBRS */ #define X86_FEATURE_MSR_IA32_FEAT_CTL ( 7*32+31)/* "" MSR IA32_FEAT_CTL configured */
tools/arch/x86/include/asm/msr-index.h +3 -0
@@ -530,6 +530,9 @@#define MSR_AMD64_VIRT_SPEC_CTRL 0xc001011f +#define MSR_ZEN4_BP_CFG 0xc001102e +#define MSR_ZEN2_BP_CFG_BUG_FIX_BIT 33 +/* Fam 17h MSRs */ #define MSR_F17H_IRPERF 0xc00000e9