lkml.org 
[lkml]   [2010]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [tip:x86/mm] x86, pae: Fix handling of large physical addresses in ioremap
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@jp.fujitsu.com>
> AuthorDate: Thu, 17 Jun 2010 10:30:06 +0900
> Committer: H. Peter Anvin <hpa@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


\
 
 \ /
  Last update: 2010-07-09 20:47    [W:0.106 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site