Re: BUG: failure at mm/nommu.c:518/add_nommu_region()

From: Greg Ungerer
Date: Tue May 05 2009 - 22:00:23 EST


Hi David,

David Howells wrote:
Greg Ungerer <gerg@xxxxxxxxxxxx> wrote:

BUG: failure at mm/nommu.c:518/add_nommu_region()!

Can you find out some more information about the region in question, perhaps
with the attached patch?

Yep, last part of the boot log now:

...
uclinux[mtd]: RAM probe address=0x168fc0 size=0xd7000
Creating 1 MTD partitions on "RAM":
0x000000000000-0x0000000d7000 : "ROMfs"
TCP cubic registered
NET: Registered protocol family 17
VFS: Mounted root (romfs filesystem) readonly on device 31:0.
Freeing unused kernel memory: 44k freed (0x152000 - 0x15c000)
___ REGION ERROR ___
18b790-191db0
fs=romfs file=init
BUG: failure at mm/nommu.c:532/add_nommu_region()!
Kernel panic - not syncing: BUG!


Also if you can check to see whether the region is within the ROMFS image.

Yes, it is. As per the uclinux/mtd trace output (at top of trace
above). The start physical address of the ROMFS is 0x168fc0, and
it will end at 0x23ffc0.

Regards
Greg




David
---
diff --git a/mm/nommu.c b/mm/nommu.c
index cdc6f60..ba9e230 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -515,7 +515,18 @@ static void add_nommu_region(struct vm_region *region)
validate_nommu_regions();
- BUG_ON(region->vm_start & ~PAGE_MASK);
+ if (region->vm_start & ~PAGE_MASK) {
+ printk(KERN_ERR "___ REGION ERROR ___\n");
+ printk(KERN_ERR "%lx-%lx\n", region->vm_start, region->vm_end);
+ printk(KERN_ERR "fs=%s file=%s\n",
+ region->vm_file ?
+ region->vm_file->f_path.dentry->d_inode->i_sb->s_type->name :
+ "*anon*",
+ region->vm_file ?
+ region->vm_file->f_path.dentry->d_name.name :
+ (const unsigned char *) "*anon*");
+ BUG();
+ }
parent = NULL;
p = &nommu_region_tree.rb_node;


--
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: gerg@xxxxxxxxxxxx
SnapGear Group, McAfee PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
--
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/