diff --git a/debian/changelog b/debian/changelog index f60517017..fc9b33c45 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ linux-2.6 (3.1.0~rc6-1~experimental.1) UNRELEASED; urgency=low * [ia64] Disable GENERIC_GPIO (fixes FTBFS) * [i386] libertas: prioritize usb8388_olpc.bin firmware on OLPC machines * [armel/ixp4xx] Add gpioblib support (fixes FTBFS) + * [i386] Fix alignment of alternative instruction entries (Closes: #640964) -- Ben Hutchings Mon, 05 Sep 2011 04:18:43 +0100 diff --git a/debian/patches/bugfix/x86/x86-32-Fix-alignment-of-alternative-instruction-entr.patch b/debian/patches/bugfix/x86/x86-32-Fix-alignment-of-alternative-instruction-entr.patch new file mode 100644 index 000000000..0a09a253c --- /dev/null +++ b/debian/patches/bugfix/x86/x86-32-Fix-alignment-of-alternative-instruction-entr.patch @@ -0,0 +1,37 @@ +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 + diff --git a/debian/patches/series/base b/debian/patches/series/base index 30a67e652..e71ea0740 100644 --- a/debian/patches/series/base +++ b/debian/patches/series/base @@ -44,3 +44,4 @@ + bugfix/ia64/ia64-gpio-GENERIC_GPIO-default-must-be-n.patch + features/x86/libertas-prioritize-usb8388_olpc.bin-firmware-on-OLPC-machines.patch + bugfix/arm/ARM-ixp4xx-gpiolib-support.patch ++ bugfix/x86/x86-32-Fix-alignment-of-alternative-instruction-entr.patch