2005-12-29 11:04:14

by Emmanuel Fleury

[permalink] [raw]
Subject: [2.6.14.5] iounmap: bad address

Hi,

I am running a 2.6.14.5 on a Transmeta Crusoe laptop (Vaio PCG-C1MZ) and
I'm having some troubles with the iounmap function. Each time I'm
shutting down the machine or even just stopping the gdm daemon, I got
the following error log:

iounmap: bad address d7233000
[iounmap+197/208] iounmap+0xc5/0xd0
[page_remove_rmap+59/96] page_remove_rmap+0x3b/0x60
[radeon_do_cleanup_cp+856/1056] radeon_do_cleanup_cp+0x358/0x420
[radeon_do_release+165/288] radeon_do_release+0xa5/0x120
[drm_takedown+43/960] drm_takedown+0x2b/0x3c0
[drm_release+1010/1232] drm_release+0x3f2/0x4d0
[__handle_mm_fault+447/464] __handle_mm_fault+0x1bf/0x1d0
[__fput+176/400] __fput+0xb0/0x190
[filp_close+82/144] filp_close+0x52/0x90
[sys_close+124/128] sys_close+0x7c/0x80
[syscall_call+7/11] syscall_call+0x7/0xb

I guess the problem is located in arch/i386/mm/ioremap.c where:

write_lock(&vmlist_lock);
p = __remove_vm_area((void *)(PAGE_MASK & (unsigned long __force)addr));
if (!p) {
printk(KERN_WARNING "iounmap: bad address %p\n", addr);
dump_stack();
goto out_unlock;
}

So, it seems that remove_vm_area is returning NULL, and I don't know
why... :-/

Can somebody help me out ?

Regards
--
Emmanuel Fleury

The highest goal of computer science is to automate that
which can be automated.
-- D. L. VerLee


2006-01-03 11:24:19

by Dave Airlie

[permalink] [raw]
Subject: Re: [2.6.14.5] iounmap: bad address

>
> I am running a 2.6.14.5 on a Transmeta Crusoe laptop (Vaio PCG-C1MZ) and
> I'm having some troubles with the iounmap function. Each time I'm
> shutting down the machine or even just stopping the gdm daemon, I got
> the following error log:

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7655f493b74f3048c02458bc32cd0b144f7b394f

is the fix for this, and my latest DRM tree remove the is_pci flag completly....

Or at least I hope that is the fix for it..

Dave.