On Thu, Dec 3, 2020 at 9:07 PM Andy Lutomirski <[email protected]> wrote:
>
> sync_core_before_usermode() had an incorrect optimization. If we're
> in an IRQ, we can get to usermode without IRET -- we just have to
> schedule to a different task in the same mm and do SYSRET.
> Fortunately, there were no callers of sync_core_before_usermode()
> that could have had in_irq() or in_nmi() equal to true, because it's
> only ever called from the scheduler.
>
> While we're at it, clarify a related comment.
>
Fixes: ac1ab12a3e6e ("lockin/x86: Implement sync_core_before_usermode()")
> Cc: [email protected]
> Reviewed-by: Mathieu Desnoyers <[email protected]>
> Signed-off-by: Andy Lutomirski <[email protected]>