Message ID | 20250217144828.30651-4-ming.li@zohomail.com |
---|---|
State | New |
Headers | show |
Series | Use guard() instead of rwsem locking | expand |
On 2/17/25 7:48 AM, Li Ming wrote: > In cxl_memdev_ioctl(), the down_read(&cxl_memdev_rwsem) and > up_read(&cxl_memdev_rwsem) can be replaced by a > guard(rwsem_read)(&cxl_memdev_rwsem), it helps to remove the open-coded > up_read(&cxl_memdev_rwsem). Besides, the local var 'rc' can be also > removed to make the code more cleaner. > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Signed-off-by: Li Ming <ming.li@zohomail.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > drivers/cxl/core/memdev.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c > index 98c05426aa4a..6f90dcd626f9 100644 > --- a/drivers/cxl/core/memdev.c > +++ b/drivers/cxl/core/memdev.c > @@ -668,15 +668,13 @@ static long cxl_memdev_ioctl(struct file *file, unsigned int cmd, > { > struct cxl_memdev *cxlmd = file->private_data; > struct cxl_dev_state *cxlds; > - int rc = -ENXIO; > > - down_read(&cxl_memdev_rwsem); > + guard(rwsem_read)(&cxl_memdev_rwsem); > cxlds = cxlmd->cxlds; > if (cxlds && cxlds->type == CXL_DEVTYPE_CLASSMEM) > - rc = __cxl_memdev_ioctl(cxlmd, cmd, arg); > - up_read(&cxl_memdev_rwsem); > + return __cxl_memdev_ioctl(cxlmd, cmd, arg); > > - return rc; > + return -ENXIO; > } > > static int cxl_memdev_open(struct inode *inode, struct file *file)
On Mon, Feb 17, 2025 at 10:48:24PM +0800, Li Ming wrote: > In cxl_memdev_ioctl(), the down_read(&cxl_memdev_rwsem) and > up_read(&cxl_memdev_rwsem) can be replaced by a > guard(rwsem_read)(&cxl_memdev_rwsem), it helps to remove the open-coded > up_read(&cxl_memdev_rwsem). Besides, the local var 'rc' can be also > removed to make the code more cleaner. > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Signed-off-by: Li Ming <ming.li@zohomail.com> > --- Reviewed-by: Alison Schofield <alison.schofield@intel.com> snip
diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c index 98c05426aa4a..6f90dcd626f9 100644 --- a/drivers/cxl/core/memdev.c +++ b/drivers/cxl/core/memdev.c @@ -668,15 +668,13 @@ static long cxl_memdev_ioctl(struct file *file, unsigned int cmd, { struct cxl_memdev *cxlmd = file->private_data; struct cxl_dev_state *cxlds; - int rc = -ENXIO; - down_read(&cxl_memdev_rwsem); + guard(rwsem_read)(&cxl_memdev_rwsem); cxlds = cxlmd->cxlds; if (cxlds && cxlds->type == CXL_DEVTYPE_CLASSMEM) - rc = __cxl_memdev_ioctl(cxlmd, cmd, arg); - up_read(&cxl_memdev_rwsem); + return __cxl_memdev_ioctl(cxlmd, cmd, arg); - return rc; + return -ENXIO; } static int cxl_memdev_open(struct inode *inode, struct file *file)