Re: 2.6.25-rc2-mm1: WARNING at arch/x86/mm/ioremap.c:129

From: Arjan van de Ven
Date: Mon Feb 18 2008 - 14:41:21 EST


Laurent Riffard wrote:
Le 16.02.2008 09:25, Andrew Morton a écrit :
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.25-rc2/2.6.25-rc2-mm1/


Got this in dmesg output:

------------[ cut here ]------------
WARNING: at arch/x86/mm/ioremap.c:129 __ioremap+0xc7/0x182()

Can you try the patch below? It should print a bit more information so that we can
figure out who's really at fault here.. (eg it's either the diagnostics that are
wrong, or ACPI is doing something evil (on behalf of the bios), we need to know
what address is being triggered)


From c346400b372a99a4158fce3ea45234bcf947bdf8 Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
Date: Mon, 18 Feb 2008 08:01:47 -0800
Subject: [PATCH] More diagnostic output for the ioremap WARN_ON

now that ACPI seems to have triggered this WARN_ON.. we need to know
which address it triggers on to be able to judge a final "who's at fault".

Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
---
arch/x86/mm/ioremap.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 69f4981..524dd45 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -126,7 +126,15 @@ static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
return NULL;
}

- WARN_ON_ONCE(page_is_ram(pfn));
+ for (pfn = phys_addr >> PAGE_SHIFT; pfn < max_pfn_mapped &&
+ (pfn << PAGE_SHIFT) < last_addr; pfn++) {
+ if (page_is_ram(pfn)) {
+ printk(KERN_ERR "ioremap: trying to map RAM page at %lx\n",
+ pfn << PAGE_SHIFT);
+ WARN_ON_ONCE(page_is_ram(pfn));
+ }
+ }
+

switch (mode) {
case IOR_MODE_UNCACHED:
--
1.5.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/