[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210330170253.GU2356281@nvidia.com>
Date: Tue, 30 Mar 2021 14:02:53 -0300
From: Jason Gunthorpe <jgg@...dia.com>
To: Dan Williams <dan.j.williams@...el.com>
Cc: linux-cxl@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Vishal L Verma <vishal.l.verma@...el.com>,
"Weiny, Ira" <ira.weiny@...el.com>,
"Schofield, Alison" <alison.schofield@...el.com>
Subject: Re: [PATCH v2 2/4] cxl/mem: Fix synchronization mechanism for device
removal vs ioctl operations
On Tue, Mar 30, 2021 at 09:05:29AM -0700, Dan Williams wrote:
> > If you can't clearly point to the *data* under RCU protection it is
> > being used wrong.
>
> Agree.
>
> The data being protected is the value of
> dev->kobj.state_in_sysfs. The
So where is that read under:
+ idx = srcu_read_lock(&cxl_memdev_srcu);
+ rc = __cxl_memdev_ioctl(cxlmd, cmd, arg);
+ srcu_read_unlock(&cxl_memdev_srcu, idx);
?
It can't read the RCU protected data outside the RCU critical region,
and it can't read/write RCU protected data without using the helper
macros which insert the required barriers.
IMHO this can't use 'dev->kobj.state_in_sysfs' as the RCU protected data.
Jason
Powered by blists - more mailing lists