Skip to content

Commit 5129768

Browse files
Christoph Hellwiggregkh
authored andcommitted
iomap: allocate s_dio_done_wq for async reads as well
commit 7fd8720 upstream. Since commit 222f2c7c6d14 ("iomap: always run error completions in user context"), read error completions are deferred to s_dio_done_wq. This means the workqueue also needs to be allocated for async reads. Fixes: 222f2c7c6d14 ("iomap: always run error completions in user context") Reported-by: syzbot+a2b9a4ed0d61b1efb3f5@syzkaller.appspotmail.com Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://patch.msgid.link/20251124140013.902853-1-hch@lst.de Tested-by: syzbot+a2b9a4ed0d61b1efb3f5@syzkaller.appspotmail.com Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent b167198 commit 5129768

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

fs/iomap/direct-io.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -674,12 +674,12 @@ __iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
674674
}
675675
goto out_free_dio;
676676
}
677+
}
677678

678-
if (!wait_for_completion && !inode->i_sb->s_dio_done_wq) {
679-
ret = sb_init_dio_done_wq(inode->i_sb);
680-
if (ret < 0)
681-
goto out_free_dio;
682-
}
679+
if (!wait_for_completion && !inode->i_sb->s_dio_done_wq) {
680+
ret = sb_init_dio_done_wq(inode->i_sb);
681+
if (ret < 0)
682+
goto out_free_dio;
683683
}
684684

685685
inode_dio_begin(inode);

0 commit comments

Comments
 (0)