History

Merge tag 'x86-urgent-2023-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Dave Hansen: "The most important fix here adds a missing CPU model to the recent Gather Data Sampling (GDS) mitigation list to ensure that mitigations are available on that CPU. There are also a pair of warning fixes, and closure of a covert channel that pops up when protection keys are disabled. Summary: - Mark all Skylake CPUs as vulnerable to GDS - Fix PKRU covert channel - Fix -Wmissing-variable-declarations warning for ia32_xyz_class - Fix kernel-doc annotation warning" * tag 'x86-urgent-2023-09-01' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/fpu/xstate: Fix PKRU covert channel x86/irq/i8259: Fix kernel-doc annotation warning x86/speculation: Mark all Skylake CPUs as vulnerable to GDS x86/audit: Fix -Wmissing-variable-declarations warning for ia32_xyz_class

Linus Torvalds committed 3 years ago

Commit 2fcbb032 parents 34232fc 18032b45 files · +13 −13Browse files

Unified · Split

5 files
  1. arch/x86/include/asm/audit.h +7 −0
  2. arch/x86/kernel/audit_64.c +0 −5
  3. arch/x86/kernel/cpu/common.c +4 −4
  4. arch/x86/kernel/fpu/xstate.c +1 −1
  5. arch/x86/kernel/i8259.c +1 −3
arch/x86/include/asm/audit.h+7−0
@@ -4,4 +4,11 @@ · 3 unmodified lines
44
55 int ia32_classify_syscall(unsigned int syscall);
66
7+extern unsigned ia32_dir_class[];
8+extern unsigned ia32_write_class[];
9+extern unsigned ia32_read_class[];
10+extern unsigned ia32_chattr_class[];
11+extern unsigned ia32_signal_class[];
12+
13+
714 #endif /* _ASM_X86_AUDIT_H */
arch/x86/kernel/audit_64.c+0−5
@@ -63,11 +63,6 @@ int audit_classify_syscall(int abi, unsigned syscall) · 62 unmodified lines
6363 static int __init audit_classes_init(void)
6464 {
6565 #ifdef CONFIG_IA32_EMULATION
66− extern __u32 ia32_dir_class[];
67− extern __u32 ia32_write_class[];
68− extern __u32 ia32_read_class[];
69− extern __u32 ia32_chattr_class[];
70− extern __u32 ia32_signal_class[];
7166 audit_register_class(AUDIT_CLASS_WRITE_32, ia32_write_class);
7267 audit_register_class(AUDIT_CLASS_READ_32, ia32_read_class);
7368 audit_register_class(AUDIT_CLASS_DIR_WRITE_32, ia32_dir_class);
arch/x86/kernel/cpu/common.c+4−4
@@ -1280,11 +1280,11 @@ static const struct x86_cpu_id cpu_vuln_blacklist[] __initconst = { · 1279 unmodified lines
12801280 VULNBL_INTEL_STEPPINGS(BROADWELL_G, X86_STEPPING_ANY, SRBDS),
12811281 VULNBL_INTEL_STEPPINGS(BROADWELL_X, X86_STEPPING_ANY, MMIO),
12821282 VULNBL_INTEL_STEPPINGS(BROADWELL, X86_STEPPING_ANY, SRBDS),
1283− VULNBL_INTEL_STEPPINGS(SKYLAKE_L, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED),
12841283 VULNBL_INTEL_STEPPINGS(SKYLAKE_X, X86_STEPPING_ANY, MMIO | RETBLEED | GDS),
1285− VULNBL_INTEL_STEPPINGS(SKYLAKE, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED),
1286− VULNBL_INTEL_STEPPINGS(KABYLAKE_L, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED | GDS),
1287− VULNBL_INTEL_STEPPINGS(KABYLAKE, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED | GDS),
1284+ VULNBL_INTEL_STEPPINGS(SKYLAKE_L, X86_STEPPING_ANY, MMIO | RETBLEED | GDS | SRBDS),
1285+ VULNBL_INTEL_STEPPINGS(SKYLAKE, X86_STEPPING_ANY, MMIO | RETBLEED | GDS | SRBDS),
1286+ VULNBL_INTEL_STEPPINGS(KABYLAKE_L, X86_STEPPING_ANY, MMIO | RETBLEED | GDS | SRBDS),
1287+ VULNBL_INTEL_STEPPINGS(KABYLAKE, X86_STEPPING_ANY, MMIO | RETBLEED | GDS | SRBDS),
12881288 VULNBL_INTEL_STEPPINGS(CANNONLAKE_L, X86_STEPPING_ANY, RETBLEED),
12891289 VULNBL_INTEL_STEPPINGS(ICELAKE_L, X86_STEPPING_ANY, MMIO | MMIO_SBDS | RETBLEED | GDS),
12901290 VULNBL_INTEL_STEPPINGS(ICELAKE_D, X86_STEPPING_ANY, MMIO | GDS),
arch/x86/kernel/fpu/xstate.c+1−1
@@ -71,7 +71,7 @@ static unsigned short xsave_cpuid_features[] __initdata = { · 70 unmodified lines
7171 [XFEATURE_ZMM_Hi256] = X86_FEATURE_AVX512F,
7272 [XFEATURE_Hi16_ZMM] = X86_FEATURE_AVX512F,
7373 [XFEATURE_PT_UNIMPLEMENTED_SO_FAR] = X86_FEATURE_INTEL_PT,
74− [XFEATURE_PKRU] = X86_FEATURE_PKU,
74+ [XFEATURE_PKRU] = X86_FEATURE_OSPKE,
7575 [XFEATURE_PASID] = X86_FEATURE_ENQCMD,
7676 [XFEATURE_CET_USER] = X86_FEATURE_SHSTK,
7777 [XFEATURE_XTILE_CFG] = X86_FEATURE_AMX_TILE,
arch/x86/kernel/i8259.c+1−3
@@ -231,9 +231,7 @@ struct irq_chip i8259A_chip = { · 230 unmodified lines
231231 };
232232
233233 static char irq_trigger[2];
234−/**
235− * ELCR registers (0x4d0, 0x4d1) control edge/level of IRQ
236− */
234+/* ELCR registers (0x4d0, 0x4d1) control edge/level of IRQ */
237235 static void restore_ELCR(char *trigger)
238236 {
239237 outb(trigger[0], PIC_ELCR1);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t