----- On May 14, 2020, at 10:17 AM, Borislav Petkov [email protected] wrote:

> + Tony.
> 
> On Tue, May 05, 2020 at 03:16:31PM +0200, Thomas Gleixner wrote:
>> From: Peter Zijlstra <[email protected]>
>> 
>> 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) <[email protected]>
>> Signed-off-by: Thomas Gleixner <[email protected]>
>> Reviewed-by: Frederic Weisbecker <[email protected]>
>> ---
>>  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 <[email protected]>

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.
http://www.efficios.com

Reply via email to