The patch titled Subject: dax/bus.c: use the right locking mode (read vs write) in size_show has been added to the -mm mm-unstable branch. Its filename is dax-busc-use-the-right-locking-mode-read-vs-write-in-size_show.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/dax-busc-use-the-right-locking-mode-read-vs-write-in-size_show.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Vishal Verma <vishal.l.verma@xxxxxxxxx> Subject: dax/bus.c: use the right locking mode (read vs write) in size_show Date: Tue, 30 Apr 2024 11:44:26 -0600 In size_show(), the dax_dev_rwsem only needs a read lock, but was acquiring a write lock. Change it to down_read_interruptible() so it doesn't unnecessarily hold a write lock. Link: https://lkml.kernel.org/r/20240430-vv-dax_abi_fixes-v3-4-e3dcd755774c@xxxxxxxxx Fixes: c05ae9d85b47 ("dax/bus.c: replace driver-core lock usage by a local rwsem") Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Alison Schofield <alison.schofield@xxxxxxxxx> Cc: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/dax/bus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/dax/bus.c~dax-busc-use-the-right-locking-mode-read-vs-write-in-size_show +++ a/drivers/dax/bus.c @@ -937,11 +937,11 @@ static ssize_t size_show(struct device * unsigned long long size; int rc; - rc = down_write_killable(&dax_dev_rwsem); + rc = down_read_interruptible(&dax_dev_rwsem); if (rc) return rc; size = dev_dax_size(dev_dax); - up_write(&dax_dev_rwsem); + up_read(&dax_dev_rwsem); return sysfs_emit(buf, "%llu\n", size); } _ Patches currently in -mm which might be from vishal.l.verma@xxxxxxxxx are dax-busc-replace-warn_on_once-with-lockdep-asserts.patch dax-busc-fix-locking-for-unregister_dax_dev-unregister_dax_mapping-paths.patch dax-busc-dont-use-down_write_killable-for-non-user-processes.patch dax-busc-use-the-right-locking-mode-read-vs-write-in-size_show.patch