]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iomap: simplify direct io validity check
authorKeith Busch <kbusch@kernel.org>
Wed, 27 Aug 2025 14:12:55 +0000 (07:12 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 9 Sep 2025 16:27:01 +0000 (10:27 -0600)
The block layer checks all the segments for validity later, so no need
for an early check. Just reduce it to a simple position and total length
check, and defer the more invasive segment checks to the block layer.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/iomap/direct-io.c

index fea23fa6a402fdbc353ebb96b12e9579c24d56fa..c06e41fd4d0af00763f0352df1bdf5db635f456b 100644 (file)
@@ -337,8 +337,7 @@ static int iomap_dio_bio_iter(struct iomap_iter *iter, struct iomap_dio *dio)
        u64 copied = 0;
        size_t orig_count;
 
-       if ((pos | length) & (bdev_logical_block_size(iomap->bdev) - 1) ||
-           !bdev_iter_is_aligned(iomap->bdev, dio->submit.iter))
+       if ((pos | length) & (bdev_logical_block_size(iomap->bdev) - 1))
                return -EINVAL;
 
        if (dio->flags & IOMAP_DIO_WRITE) {