Messages in this thread | | | Date | Wed, 21 May 2014 23:59:21 +0200 (CEST) | From | Jiri Kosina <> | Subject | Re: [RFC] x86_64: A real proposal for iret-less return to kernel |
| |
On Wed, 21 May 2014, Borislav Petkov wrote:
> > Why is it a problem if user_mode_vm(regs)? Conversely, why is sending > > a signal a remotely reasonable thing to do if !user_mode_vm(regs)? > > Let me quote Jiri: > > (1) task sends signal to itself > (2) it acquires sighand->siglock so that it's able to queue the signal > (3) MCE triggers > (4) it tries to send a signal to the same task > (5) it tries to acquire sighand->siglock and loops forever
Ah, alright, but due to what mce_severity() does, this can't happen, because if the current CPU is in the kernel (which is obviously implied by holding a spinlock), it never proceeds sending the signal, becase no_way_out gets set and mce_panic() invoked.
-- Jiri Kosina SUSE Labs
| |