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
Unified · Split
| @@ -190,7 +190,8 @@ int ssp_get(struct task_struct *target, const struct user_regset *regset, · 189 unmodified lines | ||
| 190 | 190 | struct fpu *fpu = &target->thread.fpu; |
| 191 | 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 | 195 | return -ENODEV; |
| 195 | 196 | |
| 196 | 197 | sync_fpstate(fpu); |
| @@ -175,7 +175,6 @@ EXPORT_SYMBOL_GPL(arch_static_call_transform); · 174 unmodified lines | ||
| 175 | 175 | noinstr void __static_call_update_early(void *tramp, void *func) |
| 176 | 176 | { |
| 177 | 177 | BUG_ON(system_state != SYSTEM_BOOTING); |
| 178 | − BUG_ON(!early_boot_irqs_disabled); | |
| 179 | 178 | BUG_ON(static_call_initialized); |
| 180 | 179 | __text_gen_insn(tramp, JMP32_INSN_OPCODE, tramp, func, JMP32_INSN_SIZE); |
| 181 | 180 | sync_core(); |