lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 2 Aug 2018 08:34:42 +0200 (CEST)
From:   Thomas Gleixner <tglx@...utronix.de>
To:     Gaurav Kohli <gkohli@...eaurora.org>
cc:     john.stultz@...aro.org, sboyd@...nel.org,
        linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH v2] timers: Clear must_forward_clk inside base lock

On Thu, 2 Aug 2018, Gaurav Kohli wrote:
> Timer wheel base->must_forward_clock is indicating that
> the base clock might be stale due to a long idle sleep.
> The forwarding of base clock takes place in softirq of timer

of the base clock takes place in the timer softirq ...

> or when a timer is enqueued to base which is idle. While migrate

to a base ..

> timer from remote CPU to the new base which is idle, then

See below.

> following race can happen:
> 
>   CPU0                                  CPU1
>   run_timer_softirq                     timers_dead_cpu
> 
> 					base = lock_timer_base(timer);
>   base->must_forward_clk = false
> 					if (base->must_forward_clk)
> 				         forward(base); >>skip
> 
> 					migrate_timer_list

I don't know why you insist on migrate_timer_list() being part of the
picture here.

It's only _ONE_ particular way to observe that issue. But it's not the only
way. ANY remote enqueue which hits the situation on the other CPU (CPU0 in
the example) has this problem. Tying it to migrate_timer_list() just
because you observed it that way is actively misleading. Surely you can add
a sentence that you observed it in that case, but that's supplemental
information.

Thanks,

	tglx

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ