[PATCH] x86: Fix crash on X86 with IOMMU_INIT functinality.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Konrad Rzeszutek Wilk
Date: Monday, August 30, 2010 - 11:10 am

The crux of the failure was that even if we did not use any
of the .iommu_table section, the linker would still insert it
in the vmlinux file. This patch fixes and also the failure
during runtime where we would try to access the array:

DMA-API: preallocated 32768 debug entries
DMA-API: debugging enabled by kernel config
BUG: unable to handle kernel paging request at 19da8955
IP: [<f4ffffff>] 0xf4ffffff
*pde = 00000000

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
LKML-Reference:  <20100829173216.GA19896@elte.hu>
---
 arch/x86/kernel/vmlinux.lds.S |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 3f07c37..38e2b67 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -285,10 +285,9 @@ SECTIONS
 	.iommu_table : AT(ADDR(.iommu_table) - LOAD_OFFSET) {
 		__iommu_table = .;
 		*(.iommu_table)
-		. = ALIGN(8);
 		__iommu_table_end = .;
 	}
-
+	. = ALIGN(8);
 	/*
 	 * .exit.text is discard at runtime, not link time, to deal with
 	 *  references from .altinstructions and .eh_frame
-- 
1.7.0.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
pci_iommu_init() crash, Ingo Molnar, (Sun Aug 29, 10:32 am)
Re: pci_iommu_init() crash, Konrad Rzeszutek Wilk, (Mon Aug 30, 7:32 am)
[PATCH] x86: Fix crash on X86 with IOMMU_INIT functinality., Konrad Rzeszutek Wilk, (Mon Aug 30, 11:10 am)
[tip:x86/iommu] x86, iommu: Fix IOMMU_INIT alignment rules, tip-bot for Konrad R ..., (Tue Aug 31, 12:27 am)