Re: [patch V4 part 1 29/36] x86/mce: Send #MC singal from task work

Mathieu Desnoyers
2020-05-14T16:03:34Z

----- On May 14, 2020, at 10:17 AM, Borislav Petkov bp@alien8.de wrote:

> + Tony.
>
> On Tue, May 05, 2020 at 03:16:31PM +0200, Thomas Gleixner wrote:
>> From: Peter Zijlstra <peterz@infradead.org>
>>
>> Convert #MC over to using task_work_add(); it will run the same code
>> slightly later, on the return to user path of the same exception.
>>
>> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
>> ---
>> arch/x86/kernel/cpu/mce/core.c | 56 ++++++++++++++++++++++-------------------
>> include/linux/sched.h | 6 ++++
>> 2 files changed, 37 insertions(+), 25 deletions(-)
>
> I like this:
>
> Reviewed-by: Borislav Petkov <bp@suse.de>

What I am not fully grasping here is whether this patch preserves the instruction
pointer (and possibly other relevant information for siginfo_t) triggering the
exception in a scenario where we have:

- #MC triggered, queuing task work,
- unrelated signal happens to be delivered to task,
- exit to usermode loop handles do_signal first,
- then it runs task work.

Thanks,

Mathieu

--
Mathieu Desnoyers
EfficiOS Inc.