Re: [syzbot] [block?] possible deadlock in blkdev_write_iter

From: Edward Adam Davis

Date: Thu Oct 29 2026 - 02:59:16 EST


From: Edward Aadm Davis <eadavis@xxxxxxxx>

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 330517c63aa9

diff --git a/block/fops.c b/block/fops.c
index 517b96c9d262..375ec2c15926 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -808,9 +808,7 @@ static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
} else {
ssize_t ret2;

- inode_lock_shared(bd_inode);
ret2 = blkdev_buffered_write(iocb, from);
- inode_unlock_shared(bd_inode);
ret = direct_write_fallback(iocb, from, ret,
ret2);
need_sync = true;