lkml.org 
[lkml]   [2011]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH] x86-32: Fix alignment of alternative instruction entries
From
Date
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



\
 
 \ /
  Last update: 2011-09-21 06:47    [W:0.027 / U:4.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site