[i386] Fix alignment of alternative instruction entries (Closes: #640964)

svn path=/dists/trunk/linux-2.6/; revision=18108
This commit is contained in:
Ben Hutchings 2011-09-21 04:39:25 +00:00
parent 8aff3c1a42
commit 0a45a7e8a2
3 changed files with 39 additions and 0 deletions

1
debian/changelog vendored
View File

@ -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 <ben@decadent.org.uk> Mon, 05 Sep 2011 04:18:43 +0100

View File

@ -0,0 +1,37 @@
From: Ben Hutchings <ben@decadent.org.uk>
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 <dilinger@queued.net>
References: http://bugs.debian.org/640964
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
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

View File

@ -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