Re: [PATCH] block: Fix dio->ref leak on integrity error in __blkdev_direct_IO()

From: Keith Busch

Date: Fri Jun 26 2026 - 10:29:47 EST


On Thu, Jun 25, 2026 at 05:21:06PM +0800, Wentao Liang wrote:
> @@ -239,8 +239,11 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
> }
> if (iocb->ki_flags & IOCB_HAS_METADATA) {
> ret = bio_integrity_map_iter(bio, iocb->private);
> - if (unlikely(ret))
> - goto fail;
> + if (unlikely(ret)) {
> + bio->bi_status = errno_to_blk_status(ret);
> + bio_endio(bio);
> + break;
> + }

I've submitted this same fix earlier:

https://lore.kernel.org/linux-block/20260624170905.3972095-3-kbusch@xxxxxxxx/