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]>