Re: [5.0.0 rc3 BUG] possible irq lock inversion dependency detected

From: Mikhail Gavrilov
Date: Sun Apr 14 2019 - 16:07:42 EST


On Sun, 14 Apr 2019 at 22:51, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> Because mails fall through the cracks occasionally.
>
> Does the patch below cure your problem?
>
> Thanks,
>
> tglx
>
> 8<------------------
> --- a/arch/x86/kernel/process.c
> +++ b/arch/x86/kernel/process.c
> @@ -426,6 +426,8 @@ static __always_inline void __speculatio
> u64 msr = x86_spec_ctrl_base;
> bool updmsr = false;
>
> + lockdep_assert_irqs_disabled();
> +
> /*
> * If TIF_SSBD is different, select the proper mitigation
> * method. Note that if SSBD mitigation is disabled or permanentely
> @@ -477,10 +479,12 @@ static unsigned long speculation_ctrl_up
>
> void speculation_ctrl_update(unsigned long tif)
> {
> + unsigned long flags;
> +
> /* Forced update. Make sure all relevant TIF flags are different */
> - preempt_disable();
> + local_irq_save(flags);
> __speculation_ctrl_update(~tif, tif);
> - preempt_enable();
> + local_irq_restore(flags);
> }
>
> /* Called from seccomp/prctl update */

Thanks, with this patch problem was gone.
We have time land it in 5.1?

--
Best Regards,
Mike Gavrilov.