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

Reply via email to