Re: [PATCHV5 3/3] x86, ras: Add __mcsafe_copy() function to recover from machine checks

Borislav Petkov
2015-12-27T10:09:46Z

On Sat, Dec 26, 2015 at 10:57:26PM -0800, Tony Luck wrote:
> ... will get the right value. Maybe this would still work out
> if the fixup is a 31-bit value plus a flag, but the external
> tool thinks it is a 32-bit value? I'd have to ponder that.

I still fail to see why do we need to make it so complicated and can't
do something like:

fixup_exception:
...

#ifdef CONFIG_MCE_KERNEL_RECOVERY
if (regs->ip >= (unsigned long)__mcsafe_copy &&
regs->ip <= (unsigned long)__mcsafe_copy_end)
run_special_handler();
#endif

and that special handler does all the stuff we want. And we pass
X86_TRAP* etc through fixup_exception along with whatever else we
need from the trap handler...

Hmmm?

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--