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

Commit 95d44038 authored by Muthukumar Ratty's avatar Muthukumar Ratty Committed by Jens Axboe
Browse files

block: Warn and free bio if bi_end_io is not set



In bio_endio if bio doesn't have bi_end_io (should be an error case),
we set bio to NULL and continue silently without freeing the bio. It
would be good to have a WARN and free the bio to avoid memory leak.

Signed-off-by: default avatarMuthukumar Ratty <muthur@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 0fec08b4
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1770,6 +1770,15 @@ void bio_endio(struct bio *bio, int error)
		} else {
			if (bio->bi_end_io)
				bio->bi_end_io(bio, error);
			else {
				char dev_name[BDEVNAME_SIZE];

				WARN(1, "bio_endio: bio for %s without endio\n",
					bio->bi_bdev ? bdevname(bio->bi_bdev,
					dev_name) : "(unknown)");
				bio_put(bio);
			}

			bio = NULL;
		}
	}