History

Merge tag 'x86_urgent_for_v6.13_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Borislav Petkov: - Check whether shadow stack is active before using the ptrace regset getter - Remove a wrong BUG_ON in the early static call code which breaks Xen PVH when booting as dom0 * tag 'x86_urgent_for_v6.13_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/fpu: Ensure shadow stack is active before "getting" registers x86/static-call: Remove early_boot_irqs_disabled check to fix Xen PVH dom0

Linus Torvalds committed 1 year ago

Commit f31acae2 parents a87d120 a9d9c332 files · +2 −2Browse files

Unified · Split

2 files
  1. arch/x86/kernel/fpu/regset.c +2 −1
  2. arch/x86/kernel/static_call.c +0 −1
arch/x86/kernel/fpu/regset.c+2−1
@@ -190,7 +190,8 @@ int ssp_get(struct task_struct *target, const struct user_regset *regset, · 189 unmodified lines
190190 struct fpu *fpu = &target->thread.fpu;
191191 struct cet_user_state *cetregs;
192192
193− if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK))
193+ if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK) ||
194+ !ssp_active(target, regset))
194195 return -ENODEV;
195196
196197 sync_fpstate(fpu);
arch/x86/kernel/static_call.c+0−1
@@ -175,7 +175,6 @@ EXPORT_SYMBOL_GPL(arch_static_call_transform); · 174 unmodified lines
175175 noinstr void __static_call_update_early(void *tramp, void *func)
176176 {
177177 BUG_ON(system_state != SYSTEM_BOOTING);
178− BUG_ON(!early_boot_irqs_disabled);
179178 BUG_ON(static_call_initialized);
180179 __text_gen_insn(tramp, JMP32_INSN_OPCODE, tramp, func, JMP32_INSN_SIZE);
181180 sync_core();