Re: KCSAN: data-race in cgroup_rstat_flush_locked / cgroup_rstat_updated
From: Hao Sun <hidden>
Date: 2021-09-18 01:27:25
Also in:
lkml
From: Hao Sun <hidden>
Date: 2021-09-18 01:27:25
Also in:
lkml
Hi Michal, Michal Koutný [off-list ref] 于2021年9月18日周六 上午12:41写道:
Hello Hao. On Thu, Sep 16, 2021 at 09:53:55PM +0800, Hao Sun [off-list ref] wrote:quoted
KCSAN reported the following data race during the kernel booting when using Healer to fuzz the latest Linux kernel. [...] cgroup_rstat_cpu_pop_updated kernel/cgroup/rstat.c:139 [inline] [...] cgroup_rstat_updated+0x53/0x1b0 kernel/cgroup/rstat.c:38FWIW, it's a "safe" race between updaters and flushers (possibly missing the latest update(s)). This is expected as explained in cgroup_rstat_updated() comment.
Would it be better to add a `data_race` macro to the corresponding location so that the false report can be disabled? See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/memory-model/Documentation/access-marking.txt#n58 for more details. Currently, fuzzer can not test the kernel with KCSAN enabled for a long time, because cgroups setup is the basic step before executing any test case. Regards Hao