]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
x86/asm: Differentiate between code and function alignment
authorThomas Gleixner <tglx@linutronix.de>
Wed, 13 Mar 2024 10:42:52 +0000 (07:42 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Apr 2024 14:18:49 +0000 (16:18 +0200)
commit 8eb5d34e77c63fde8af21c691bcf6e3cd87f7829 upstream.

Create SYM_F_ALIGN to differentiate alignment requirements between
SYM_CODE and SYM_FUNC.

This distinction is useful later when adding padding in front of
functions; IOW this allows following the compiler's
patchable-function-entry option.

[peterz: Changelog]

Change-Id: I4f9bc0507e5c3fdb3e0839806989efc305e0a758
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220915111143.824822743@infradead.org
[cascardo: adjust for missing commit c4691712b546 ("x86/linkage: Add ENDBR to SYM_FUNC_START*()")]
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/linkage.h

index 3d7293d529501c151a57370cd9e86b61461fb205..04a333c334aeacde5cf5ac066201a9b7bcd16d11 100644 (file)
 #define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
 #endif /* CONFIG_X86_32 */
 
-#ifdef __ASSEMBLY__
-
 #define __ALIGN                .balign CONFIG_FUNCTION_ALIGNMENT, 0x90;
 #define __ALIGN_STR    __stringify(__ALIGN)
 
+#define ASM_FUNC_ALIGN         __ALIGN_STR
+#define __FUNC_ALIGN           __ALIGN
+#define SYM_F_ALIGN            __FUNC_ALIGN
+
+#ifdef __ASSEMBLY__
+
 #if defined(CONFIG_RETHUNK) && !defined(__DISABLE_EXPORTS) && !defined(BUILD_VDSO)
 #define RET    jmp __x86_return_thunk
 #else /* CONFIG_RETPOLINE */