powerpc: Don't silently handle machine checks from userspace

Scott Wood scottwood at freescale.com
Sat Nov 3 03:36:04 EST 2012


On 11/02/2012 06:48:40 AM, Martijn de Gouw wrote:
> Hi,
> 
> The following commit:
> 
> http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commit;h=e49b1fae0ba4d06b29bd753a961abb447566bf4a
> 
> 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).

-Scott


More information about the Linuxppc-dev mailing list