This is a note to let you know that I've just added the patch titled x86/xen: Support objtool vmlinux.o validation in xen-head.S to the 5.10-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: x86-xen-support-objtool-vmlinux.o-validation-in-xen-head.s.patch and it can be found in the queue-5.10 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Tue Jul 12 05:07:35 PM CEST 2022 From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Date: Thu, 21 Jan 2021 15:29:29 -0600 Subject: x86/xen: Support objtool vmlinux.o validation in xen-head.S From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> commit f4b4bc10b0b85ec66f1a9bf5dddf475e6695b6d2 upstream. The Xen hypercall page is filled with zeros, causing objtool to fall through all the empty hypercall functions until it reaches a real function, resulting in a stack state mismatch. The build-time contents of the hypercall page don't matter because the page gets rewritten by the hypervisor. Make it more palatable to objtool by making each hypervisor function a true empty function, with nops and a return. Cc: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Link: https://lore.kernel.org/r/0883bde1d7a1fb3b6a4c952bc0200e873752f609.1611263462.git.jpoimboe@xxxxxxxxxx Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- arch/x86/xen/xen-head.S | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) --- a/arch/x86/xen/xen-head.S +++ b/arch/x86/xen/xen-head.S @@ -68,8 +68,9 @@ SYM_CODE_END(asm_cpu_bringup_and_idle) .balign PAGE_SIZE SYM_CODE_START(hypercall_page) .rept (PAGE_SIZE / 32) - UNWIND_HINT_EMPTY - .skip 32 + UNWIND_HINT_FUNC + .skip 31, 0x90 + ret .endr #define HYPERCALL(n) \ Patches currently in stable-queue which might be from jpoimboe@xxxxxxxxxx are queue-5.10/x86-bugs-enable-stibp-for-jmp2ret.patch queue-5.10/objtool-assume-only-elf-functions-do-sibling-calls.patch queue-5.10/objtool-support-retpoline-jump-detection-for-vmlinux.o.patch queue-5.10/x86-xen-support-objtool-vmlinux.o-validation-in-xen-head.s.patch queue-5.10/objtool-x86-replace-alternatives-with-.retpoline_sites.patch queue-5.10/objtool-don-t-make-.altinstructions-writable.patch queue-5.10/x86-alternative-handle-jcc-__x86_indirect_thunk_-reg.patch queue-5.10/x86-xen-support-objtool-validation-in-xen-asm.s.patch queue-5.10/x86-retpoline-remove-unused-replacement-symbols.patch queue-5.10/objtool-support-stack-layout-changes-in-alternatives.patch queue-5.10/bpf-x86-respect-x86_feature_retpoline.patch queue-5.10/objtool-fix-type-of-reloc-addend.patch queue-5.10/x86-retpoline-create-a-retpoline-thunk-array.patch queue-5.10/x86-asm-fix-register-order.patch queue-5.10/objtool-make-.altinstructions-section-entry-size-consistent.patch queue-5.10/bpf-x86-simplify-computing-label-offsets.patch queue-5.10/objtool-refactor-orc-section-generation.patch queue-5.10/objtool-fix-code-relocs-vs-weak-symbols.patch queue-5.10/objtool-combine-unwind_hint_ret_offset-and-unwind_hint_func.patch queue-5.10/x86-asm-fixup-odd-gen-for-each-reg.h-usage.patch queue-5.10/x86-alternative-add-debug-prints-to-apply_retpolines.patch queue-5.10/objtool-remove-reloc-symbol-type-checks-in-get_alt_entry.patch queue-5.10/objtool-classify-symbols.patch queue-5.10/objtool-add-alt_group-struct.patch queue-5.10/x86-retpoline-move-the-retpoline-thunk-declarations-to-nospec-branch.h.patch queue-5.10/objtool-support-asm-jump-tables.patch queue-5.10/x86-alternative-implement-.retpoline_sites-support.patch queue-5.10/x86-alternative-try-inline-spectre_v2-retpoline-amd.patch queue-5.10/objtool-explicitly-avoid-self-modifying-code-in-.altinstr_replacement.patch queue-5.10/objtool-create-reloc-sections-implicitly.patch queue-5.10/objtool-default-ignore-int3-for-unreachable.patch queue-5.10/objtool-teach-get_alt_entry-about-more-relocation-types.patch