From 666ab0b0ab5ec0645aca319b17218c976d98b950 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 3 Jun 2018 13:37:03 +0200 Subject: [PATCH 90/93] x86/xen: Add unwind hint annotations to xen_setup_gdt Not needed in mainline as this function got rewritten in 4.12 This enables objtool to grok the iret in the middle of a C function. This matches commit 76846bf3cb09 ("x86/asm: Add unwind hint annotations to sync_core()") Cc: Josh Poimboeuf Signed-off-by: Greg Kroah-Hartman --- arch/x86/xen/enlighten.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 8b97c87..af79764 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -75,6 +75,7 @@ #include #include #include +#include #ifdef CONFIG_ACPI #include @@ -1450,10 +1451,12 @@ static void __ref xen_setup_gdt(int cpu) * GDT. The new GDT has __KERNEL_CS with CS.L = 1 * and we are jumping to reload it. */ - asm volatile ("pushq %0\n" + asm volatile (UNWIND_HINT_SAVE + "pushq %0\n" "leaq 1f(%%rip),%0\n" "pushq %0\n" "lretq\n" + UNWIND_HINT_RESTORE "1:\n" : "=&r" (dummy) : "0" (__KERNEL_CS)); -- 2.7.4