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

Commit 34f2fd8d authored by Akinobu Mita's avatar Akinobu Mita Committed by Jens Axboe
Browse files

bio: fix argument of __bio_add_page() for max_sectors > 0xffff



The data type of max_sectors and max_hw_sectors in queue settings are
unsigned int.  But these values are passed to __bio_add_page() as an
argument whose data type is unsigned short.  In the worst case such as
max_sectors is 0x10000, bio_add_page() can't add a page and IOs can't
proceed.

Cc: Jens Axboe <axboe@kernel.dk>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 2d3c6275
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -601,7 +601,7 @@ EXPORT_SYMBOL(bio_get_nr_vecs);

static int __bio_add_page(struct request_queue *q, struct bio *bio, struct page
			  *page, unsigned int len, unsigned int offset,
			  unsigned short max_sectors)
			  unsigned int max_sectors)
{
	int retried_segments = 0;
	struct bio_vec *bvec;