Prev: [tip:x86/mm] x86-64, mm: Initialize VDSO earlier on 64 bits
Next: [PATCH, RT, RFC] Hacks allowing -rt to run on POWER7 / Powerpc.
From: H. Peter Anvin on 9 Jul 2010 14:50 On 07/09/2010 11:31 AM, tip-bot for Kenji Kaneshige wrote: > Commit-ID: 39d8c3ff39443825b6a21b28249fc4904809203f > Gitweb: http://git.kernel.org/tip/39d8c3ff39443825b6a21b28249fc4904809203f > Author: Kenji Kaneshige <kaneshige.kenji(a)jp.fujitsu.com> > AuthorDate: Thu, 17 Jun 2010 10:30:06 +0900 > Committer: H. Peter Anvin <hpa(a)linux.intel.com> > CommitDate: Fri, 9 Jul 2010 10:51:39 -0700 > > x86, pae: Fix handling of large physical addresses in ioremap > > Current x86 ioremap() doesn't handle physical address higher than > 32-bit properly in X86_32 PAE mode. When physical address higher than > 32-bit is passed to ioremap(), higher 32-bits in physical address is > cleared wrongly. Due to this bug, ioremap() can map wrong address to > linear address space. > > In my case, 64-bit MMIO region was assigned to a PCI device (ioat > device) on my system. Because of the ioremap()'s bug, wrong physical > address (instead of MMIO region) was mapped to linear address space. > Because of this, loading ioatdma driver caused unexpected behavior > (kernel panic, kernel hangup, ...). > Sorry, pushed the wrong version of this patch. I will push the correct one shortly. -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |