x86/entry: Align SYM_CODE_START() variants
authorThomas Gleixner <tglx@linutronix.de>
Thu, 15 Sep 2022 11:10:51 +0000 (13:10 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 17 Oct 2022 14:41:00 +0000 (16:41 +0200)
Explicitly align a bunch of commonly called SYM_CODE_START() symbols.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220915111144.144068841@infradead.org
arch/x86/entry/entry_64.S
arch/x86/entry/thunk_64.S

index 9953d96..e635f96 100644 (file)
@@ -284,7 +284,8 @@ SYM_FUNC_END(__switch_to_asm)
  * r12: kernel thread arg
  */
 .pushsection .text, "ax"
-SYM_CODE_START(ret_from_fork)
+       __FUNC_ALIGN
+SYM_CODE_START_NOALIGN(ret_from_fork)
        UNWIND_HINT_EMPTY
        ANNOTATE_NOENDBR // copy_thread
        movq    %rax, %rdi
@@ -600,13 +601,13 @@ SYM_CODE_END(\asmsym)
  * shared between 32 and 64 bit and emit the __irqentry_text_* markers
  * so the stacktrace boundary checks work.
  */
-       .align 16
+       __ALIGN
        .globl __irqentry_text_start
 __irqentry_text_start:
 
 #include <asm/idtentry.h>
 
-       .align 16
+       __ALIGN
        .globl __irqentry_text_end
 __irqentry_text_end:
        ANNOTATE_NOENDBR
@@ -828,7 +829,8 @@ EXPORT_SYMBOL(asm_load_gs_index)
  *
  * C calling convention: exc_xen_hypervisor_callback(struct *pt_regs)
  */
-SYM_CODE_START_LOCAL(exc_xen_hypervisor_callback)
+       __FUNC_ALIGN
+SYM_CODE_START_LOCAL_NOALIGN(exc_xen_hypervisor_callback)
 
 /*
  * Since we don't modify %rdi, evtchn_do_upall(struct *pt_regs) will
@@ -856,7 +858,8 @@ SYM_CODE_END(exc_xen_hypervisor_callback)
  * We distinguish between categories by comparing each saved segment register
  * with its current contents: any discrepancy means we in category 1.
  */
-SYM_CODE_START(xen_failsafe_callback)
+       __FUNC_ALIGN
+SYM_CODE_START_NOALIGN(xen_failsafe_callback)
        UNWIND_HINT_EMPTY
        ENDBR
        movl    %ds, %ecx
@@ -1516,7 +1519,8 @@ SYM_CODE_END(ignore_sysret)
 #endif
 
 .pushsection .text, "ax"
-SYM_CODE_START(rewind_stack_and_make_dead)
+       __FUNC_ALIGN
+SYM_CODE_START_NOALIGN(rewind_stack_and_make_dead)
        UNWIND_HINT_FUNC
        /* Prevent any naive code from trying to unwind to our caller. */
        xorl    %ebp, %ebp
index f38b07d..5e37f41 100644 (file)
@@ -11,7 +11,7 @@
 
        /* rdi: arg1 ... normal C conventions. rax is saved/restored. */
        .macro THUNK name, func
-SYM_FUNC_START_NOALIGN(\name)
+SYM_FUNC_START(\name)
        pushq %rbp
        movq %rsp, %rbp
 
@@ -36,7 +36,7 @@ SYM_FUNC_END(\name)
        EXPORT_SYMBOL(preempt_schedule_thunk)
        EXPORT_SYMBOL(preempt_schedule_notrace_thunk)
 
-SYM_CODE_START_LOCAL_NOALIGN(__thunk_restore)
+SYM_CODE_START_LOCAL(__thunk_restore)
        popq %r11
        popq %r10
        popq %r9