Add proper alignment for .nospec_call_table and .nospec_return_table in vmlinux. Fixes: f19fbd5ed642 ("s390: introduce execute-trampolines for branches") Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> --- This is RFC because I don't know anything about s390 behavior for unaligned data accesses, but this seemed to fix an issue for me. While working on another s390 issue, I was getting intermittent boot failures in __nospec_revert() when it tried to access 'instr[0]'. I noticed the __nospec_call_start address ended in 'ff'. This patch seemed to fix it. I have no idea why it was (only sometimes) failing in the first place. The intermittent part of it is probably at least partially explained by CONFIG_RANDOMIZE_BASE. Except now I can no longer recreate it :-/ Regardless, this patch seems correct. I just can't explain what I saw. Any ideas? arch/s390/kernel/vmlinux.lds.S | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index 2e526f11b91e..5ea3830af0cc 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S @@ -131,6 +131,7 @@ SECTIONS /* * Table with the patch locations to undo expolines */ + . = ALIGN(4); .nospec_call_table : { __nospec_call_start = . ; *(.s390_indirect*) -- 2.37.2