Re: [PATCH] atm/fore200e: Fix possible data race in fore200e_open()
From: Simon Horman
Date: Mon Jan 20 2025 - 05:56:08 EST
On Fri, Jan 17, 2025 at 10:28:59AM +0800, Gui-Dong Han wrote:
> > On Wed, 15 Jan 2025 13:10:06 +0000 Gui-Dong Han wrote:
> > > Protect access to fore200e->available_cell_rate with rate_mtx lock to
> > > prevent potential data race.
> > >
> > > The field fore200e.available_cell_rate is generally protected by the lock
> > > fore200e.rate_mtx when accessed. In all other read and write cases, this
> > > field is consistently protected by the lock, except for this case and
> > > during initialization.
> >
> > That's not sufficient in terms of analysis.
> >
> > You need to be able to articulate what can go wrong.
>
> fore200e->available_cell_rate += vcc->qos.txtp.max_pcr;
> In this case, since the update depends on a prior read, a data race
> could lead to a wrong fore200e.available_cell_rate value.
Hi Gui-Dong Han,
I think it would be good to post a v2 of this patch with
an explanation along the lines of the above included in
the patch description.