[PATCH V4] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx

David Laight David.Laight at ACULAB.COM
Thu Mar 7 21:04:44 EST 2013

> In my understanding filling the register could warn the executing process
> an error occurred in some cases. But no way to fix the wrong behavior caused
> by the instruction lost. So let's say that filling the register may benefit
> a little.

IIRC the only ppc instructions that should be accessing PCIe space
are simple memory reads/writes, locked exchanges probably don't work.
writes will be async - so we are talking about memory reads.

> On the other side, we should not access to the addresses of unknown process
> in Linux kernel. We must get the instruction before filling the register.
> If the instruction is not in the cache we have to access to the unknown
> addresses to get it. For system security I think this is strictly forbidden.

The kernel fault handler will know whether the fault is from kernel
or userspace (in which case it must be the current process), and will
almost certainly already have code that looks at the faulting instruction
If the faulting code address is 'user', then the normal functions for
reading user addresses have to be used.
If the faulting address is 'kernel' it might be in an ISR - restricting
what can be done - but the instruction is definitely readable.

> Although I think filling the register have some advantages but it's should
> be forbidden for security reason.

I'm sure security would say exactly the opposite.


More information about the Linuxppc-dev mailing list