[PATCH v2] x86: make sure IDT is page aligned

From: Kees Cook
Date: Fri Jul 12 2013 - 14:42:35 EST


Since the IDT is referenced from a fixmap, make sure it is page aligned.
(32-bit already was, this is only needed on 64-bit.) This avoids the
risk of it ever being moved in the bss and having the mapping be offset,
resulting in calling incorrect handlers.

Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Reported-by: PaX Team <pageexec@xxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---
v2:
- 32-bit was already aligned, noted by PaX Team
---
arch/x86/kernel/head_64.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index 5e4d8a8..77e6d3e 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -513,7 +513,7 @@ ENTRY(phys_base)
#include "../../x86/xen/xen-head.S"

.section .bss, "aw", @nobits
- .align L1_CACHE_BYTES
+ .align PAGE_SIZE
ENTRY(idt_table)
.skip IDT_ENTRIES * 16

--
1.7.9.5


--
Kees Cook
Chrome OS Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/