Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1c53460 authored by Jens Axboe's avatar Jens Axboe
Browse files

direct-io: be sure to assign dio->bio_bdev for both paths



btrfs sets ->submit_io(), and we failed to set the block dev for
that path. That resulted in a potential NULL dereference when
we later wait for IO in dio_await_one().

Reported-by: default avatarkernel test robot <ying.huang@linux.intel.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 15c4f638
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -399,14 +399,14 @@ static inline void dio_bio_submit(struct dio *dio, struct dio_submit *sdio)
	if (dio->is_async && dio->rw == READ && dio->should_dirty)
		bio_set_pages_dirty(bio);

	dio->bio_bdev = bio->bi_bdev;

	if (sdio->submit_io) {
		sdio->submit_io(dio->rw, bio, dio->inode,
			       sdio->logical_offset_in_bio);
		dio->bio_cookie = BLK_QC_T_NONE;
	} else {
	} else
		dio->bio_cookie = submit_bio(dio->rw, bio);
		dio->bio_bdev = bio->bi_bdev;
	}

	sdio->bio = NULL;
	sdio->boundary = 0;