From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965271Ab3GLSbw (ORCPT ); Fri, 12 Jul 2013 14:31:52 -0400 Received: from smtp.outflux.net ([198.145.64.163]:40797 "EHLO smtp.outflux.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965116Ab3GLSbu (ORCPT ); Fri, 12 Jul 2013 14:31:50 -0400 Date: Fri, 12 Jul 2013 11:30:14 -0700 From: Kees Cook To: linux-kernel@vger.kernel.org Cc: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Borislav Petkov , Fenghua Yu , Yinghai Lu , Seiji Aguchi , PaX Team Subject: [PATCH] x86: make sure IDT is page aligned Message-ID: <20130712183014.GA20551@www.outflux.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-HELO: www.outflux.net Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since the IDT is referenced from a fixmap, make sure it is page aligned. This avoids the risk of it ever being moved in the bss and having the fixmap fail. Signed-off-by: Kees Cook Reported-by: PaX Team Cc: stable@vger.kernel.org --- arch/x86/kernel/head_32.S | 2 +- arch/x86/kernel/head_64.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index e65ddc6..3526dd1 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -734,7 +734,7 @@ boot_gdt_descr: .word __BOOT_DS+7 .long boot_gdt - __PAGE_OFFSET - .word 0 # 32-bit align idt_desc.address + .word PAGE_SIZE # page align idt_desc.address idt_descr: .word IDT_ENTRIES*8-1 # idt contains 256 entries .long idt_table 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