Qian Cai <quic_qiancai@xxxxxxxxxxx> writes: > On Mon, Jun 27, 2022 at 09:27:43PM +0800, Miaohe Lin wrote: >> On 2022/6/27 20:43, Qian Cai wrote: >> > On Sat, Jun 25, 2022 at 05:33:45PM +0800, Miaohe Lin wrote: >> >> si->inuse_pages could still be accessed concurrently now. The plain reads >> >> outside si->lock critical section, i.e. swap_show and si_swapinfo, which >> >> results in data races. READ_ONCE and WRITE_ONCE is used to fix such data >> >> races. Note these data races should be ok because they're just used for >> >> showing swap info. >> > >> > Was this found by kcsan? If so, it would be useful to record the exact >> > kscan report in the commit message. >> >> Sorry, it's found via code inspection. > > Well, if we are going to do a WRITE_ONCE() in those places just for > documentation purpose now, I think we will need to fix all places in the mm > subsystem to be consistent. We have already done this in swapfile.c, please search "WRITE_ONCE" in that file. Best Regards, Huang, Ying