From: Ben Hutchings Date: Wed, 21 Sep 2011 04:55:14 +0100 Subject: [PATCH] x86-32: Fix alignment of alternative instruction entries The altinstruction_entry macro was originally used only on x86-64, and assumed 64-bit pointers and alignment. Commit b4ca46e4e82a0a5976fe5eab85be585d75f8202f ("x86-32: Fix boot with CONFIG_X86_INVD_BUG") introduced a use of the macro on x86-32. Before this, the 64-bit pointers had been replaced by 32-bit offsets, so it worked - in at least one case. However, the alignment is still wrong for x86-32, which can result in zero-padding between entries and a BUG in apply_alternatives. Reported-by: Andres Salomon References: http://bugs.debian.org/640964 Signed-off-by: Ben Hutchings --- arch/x86/include/asm/alternative-asm.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h index 4554cc6..d00dc2a 100644 --- a/arch/x86/include/asm/alternative-asm.h +++ b/arch/x86/include/asm/alternative-asm.h @@ -16,7 +16,7 @@ #endif .macro altinstruction_entry orig alt feature orig_len alt_len - .align 8 + _ASM_ALIGN .long \orig - . .long \alt - . .word \feature -- 1.7.5.4