Commit 67e93ddd authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Peter Zijlstra
Browse files

x86/entry: Align SYM_CODE_START() variants



Explicitly align a bunch of commonly called SYM_CODE_START() symbols.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220915111144.144068841@infradead.org
parent 1d293758
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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