[PATCH] linux/export: Ensure natural alignment of kcrctab array

From: Helge Deller
Date: Thu Dec 28 2023 - 05:36:17 EST


The ___kcrctab section holds an array of 32-bit CRC values.
Add a .balign 4 to tell the linker the correct memory alignment.

Signed-off-by: Helge Deller <deller@xxxxxx>
Fixes: f3304ecd7f06 ("linux/export: use inline assembler to populate symbol CRCs")
Link: https://lore.kernel.org/r/CAK7LNAT5gyn0C9EJhh1EeFT7gF0rOudWcdqAVN=+C4jR42W90w@xxxxxxxxxxxxxx/

diff --git a/include/linux/export-internal.h b/include/linux/export-internal.h
index 69501e0ec239..51b8cf3f60ef 100644
--- a/include/linux/export-internal.h
+++ b/include/linux/export-internal.h
@@ -61,6 +61,7 @@

#define SYMBOL_CRC(sym, crc, sec) \
asm(".section \"___kcrctab" sec "+" #sym "\",\"a\"" "\n" \
+ ".balign 4" "\n" \
"__crc_" #sym ":" "\n" \
".long " #crc "\n" \
".previous" "\n")