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
190 struct fpu *fpu = &target->thread.fpu;190 struct fpu *fpu = &target->thread.fpu;
191 struct cet_user_state *cetregs;191 struct cet_user_state *cetregs;
192 192
193 if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK))193 if (!cpu_feature_enabled(X86_FEATURE_USER_SHSTK) ||
194 !ssp_active(target, regset))
194 return -ENODEV;195 return -ENODEV;
195 196
196 sync_fpstate(fpu);197 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
175noinstr void __static_call_update_early(void *tramp, void *func)175noinstr void __static_call_update_early(void *tramp, void *func)
176{176{
177 BUG_ON(system_state != SYSTEM_BOOTING);177 BUG_ON(system_state != SYSTEM_BOOTING);
178 BUG_ON(!early_boot_irqs_disabled);
179 BUG_ON(static_call_initialized);178 BUG_ON(static_call_initialized);
180 __text_gen_insn(tramp, JMP32_INSN_OPCODE, tramp, func, JMP32_INSN_SIZE);179 __text_gen_insn(tramp, JMP32_INSN_OPCODE, tramp, func, JMP32_INSN_SIZE);
181 sync_core();180 sync_core();