Re: [PATCH] s390/time: Use jiffies instead of jiffies_64

Alexander Egorenkov <[email protected]>
Newsgroups org.kernel.vger.linux-s390
Message-ID <[email protected]>
Heiko Carstens <[email protected]> writes:

> Christoph Schlameuss and Alexander Egorenkov reported a data-race
> reported by KCSAN when jiffies_64 is read:
>
> ==================================================================
> BUG: KCSAN: data-race in do_account_vtime / tick_do_update_jiffies64
>
> write to 0x0000016599ea8600 of 8 bytes by interrupt on cpu 6:
>  tick_do_update_jiffies64+0x140/0x250
> =============================================================>
> BUG: KCSAN: data-race in do_account_vtime / tick_do_update_ji>
>
> write to 0x0000016599ea8600 of 8 bytes by interrupt on cpu 6:
>  tick_do_update_jiffies64+0x140/0x250
>  tick_nohz_handler+0x2e6/0x300
>  __run_hrtimer+0x156/0x4d0
>  __hrtimer_run_queues+0xd2/0x150
> ...
>  system_call+0x72/0x90
>
> read to 0x0000016599ea8600 of 8 bytes by interrupt on cpu 12:
>  do_account_vtime+0x7d6/0x860
>  vtime_flush+0x26/0xe0
>  update_process_times+0x32/0x160
>  tick_nohz_handler+0x12a/0x300
> ...
>  system_call+0x72/0x90
>
> value changed: 0x00000000ffffaa6c -> 0x00000000ffffaa6d
> ...
> =============================================================>
>
> Problem is that jiffies_64 instead of jiffies is used. Both are at the
> same address, but only jiffies is of volatile type, which prevents this
> warning.
>
> Change the vtime code so jiffies instead of jiffies_64 is used
> everywhere. This addresses also the inconsistency that both jiffies and
> jiffies_64 were used in the original patch which introduced this.
>
> Fixes: f341b8dff982 ("s390/vtime: limit MT scaling value updates")
> Reported-by: Christoph Schlameuss <[email protected]>
> Reported-by: Alexander Egorenkov <[email protected]>
> Signed-off-by: Heiko Carstens <[email protected]>

Reviewed-by: Alexander Egorenkov <[email protected]>
Tested-by: Alexander Egorenkov <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.