powerpc: Don't silently handle machine checks from userspace
scottwood at freescale.com
Sat Nov 3 03:36:04 EST 2012
On 11/02/2012 06:48:40 AM, Martijn de Gouw wrote:
> The following commit:
> causes confusion, because it prints "Machine check in kernel mode"
> also when the bus error is actually in user space. When using RapidIO
> memory mapped access, and the device is removed or powered off, then
> a bus error is generated. This is on a freescale mpc8548 powerpc. Due
> to removing the user_mode check, the kernel calls "die" which causes
> the process to die with a BUS error, regardless of having a SIGBUS
> handler or not.
> Therefore I request to put this check back, and even to put the
> removed code at the top of the machine check handler because there is
> no point in trying to recover from a user space bus error anyway.
Why is there no point trying to recover? For example, see MCSR_ICPERR
and MCSR_DCPERR_MC in machine_check_e500mc. The machine check is just
letting us know that there was an error and the read-only cache got
dumped (i.e. it was a correctable error).
More information about the Linuxppc-dev