diff options
author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2010-08-30 14:10:02 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-08-31 08:06:10 +0200 |
commit | 7ac41ccf47d82569d26f34beab1dec92cc3b6347 (patch) | |
tree | fce67781199e2e9e392a025c5fd7c21b39c62346 /arch/x86/kernel | |
parent | 6f44d0337cc54a46e83b4c8a6195607e78fff71d (diff) | |
download | linux-7ac41ccf47d82569d26f34beab1dec92cc3b6347.tar.gz linux-7ac41ccf47d82569d26f34beab1dec92cc3b6347.tar.bz2 linux-7ac41ccf47d82569d26f34beab1dec92cc3b6347.zip |
x86, iommu: Fix IOMMU_INIT alignment rules
This boot crash was observed:
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
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 that and also fixes the
runtime crash where we would try to access the array.
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Joerg Roedel <joerg.roedel@amd.com>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
LKML-Reference: <1283191802-25086-1-git-send-email-konrad.wilk@oracle.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | 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 3f07c370f761..38e2b67807e1 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 |