Bug in _und_usr on dual-core ARM?

Russell King - ARM Linux linux at arm.linux.org.uk
Tue Jun 21 05:58:18 EDT 2011


On Tue, Jun 21, 2011 at 05:37:31PM +0800, TAO HU wrote:
> Hi, Russell
> 
> Wouldn't it lead to oops with your patch?

The might_sleep() occurs because its trying to process the page fault.
We shouldn't be trying to do that with IRQs disabled - instead, we
should try to fix up the fault from kernel space by invoking the fixup
for the ldrt instructions in __und_usr.

This may throw the system into a loop against your process (which you
should still be able to kill) which will suggest that there's dirty
I-cache lines - we seem to be executing code in a non-present page
(at 0xafd0ce5c).



More information about the linux-arm-kernel mailing list