Re: [PATCH v14] x86, mce: Add memcpy_mcsafe()

From: Luck, Tony
Date: Wed Mar 02 2016 - 15:47:58 EST


On Thu, Feb 18, 2016 at 11:47:26AM -0800, Tony Luck wrote:
> Make use of the EXTABLE_FAULT exception table entries to write
> a kernel copy routine that doesn't crash the system if it
> encounters a machine check. Prime use case for this is to copy
> from large arrays of non-volatile memory used as storage.
>
> We have to use an unrolled copy loop for now because current
> hardware implementations treat a machine check in "rep mov"
> as fatal. When that is fixed we can simplify.

Ping.

Anything more needed for this? In his last message Linus
seemed OK with a *kernel* copy function that avoided death
by machine check. He said:

What a "memcpy_fault()" (or whatever it would be called) means is
that the kernel is doing its own copies, but knows that there is some
fragility involved, and wants to have a recovery mechanism that isn't
"oops, we got a machine check in the kernel, now we need to kill the
machine".

The only things left to argue are the name, and the return value.

-Tony