Re: kernel crash on P4080DS

From: Akifumi Chikazawa
Date: Wed Apr 18 2012 - 01:06:21 EST



Continue investing, I found a mistake in my last report.
These sentences are not true.
> This was due to BUG_ON. so I checked the condition.
> But it is not true (it means pte_val(*pt) is 0).

I guess that the cause of BUG_ON are as follows. There are two cases.
Could you advise me what would cause the kernel panic?

Board :P2020RDB,P4080DS
Linux kernel:2.6.36.2

Case 1
When ioremap is executed, a part of data of vmap_area that consists of tree
structure had been deleted,
and then, process to find a empty area in ioremap tried to assign an address
already being used.
As the result of that, BUG_ON in mmap_page was executed and caused kernel
panic.


Case2
When ioremap is executed, va_end in vmap_area structure can be 0. va_start
is the correct value at that time.
and process to find an empty area in ioremap did not caluculate accurately.
then it led to an incorrect address.
As the result of that, BUG_ON in mmap_page was executed and caused kernel
panic.
During execution of the immediately preceding ioremap, va_end is not 0.

and I attached Test program for P2020RDB.
http://old.nabble.com/file/p33705797/sample_driver.tar.gz
sample_driver.tar.gz
--
View this message in context: http://old.nabble.com/kernel-crash-on-P4080DS-tp33544993p33705797.html
Sent from the linux-kernel mailing list archive at Nabble.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/