Re: [PATCH v4] md/raid5: fix atomicity violation in raid5_cache_count

From: Song Liu
Date: Tue Feb 27 2024 - 17:35:25 EST


On Thu, Feb 1, 2024 at 11:11 PM Yu Kuai <yukuai1@xxxxxxxxxxxxxxx> wrote:
>
> Hi,
>
> 在 2024/01/30 15:37, Song Liu 写道:
> > On Thu, Jan 11, 2024 at 11:10 PM Gui-Dong Han <2045gemini@gmailcom> wrote:
> >>
> > [...]
> >>
> >> raid5_release_stripe(sh);
> >> - conf->max_nr_stripes++;
> >> + WRITE_ONCE(conf->max_nr_stripes, conf->max_nr_stripes + 1);
> >
> > This is weird. We are reading max_nr_stripes without READ_ONCE.
>
> We don't need READ_ONCE() here because writers are protected by
> 'cache_size_mutex', there are no concurrent writers, it's safe to
> read 'max_nr_stripes' directly.

OK, that makes sense. Applied to md-6.9.

Thanks,
Song