diff --git a/block/bio.c b/block/bio.c index 0bc56d82486cd..2a5e97f463ca3 100644 --- a/block/bio.c +++ b/block/bio.c @@ -806,9 +806,7 @@ bool __bio_try_merge_page(struct bio *bio, struct page *page, if (bio->bi_vcnt > 0) { struct bio_vec *bv = &bio->bi_io_vec[bio->bi_vcnt - 1]; - if (page_is_mergeable(bv, page, len, off, same_page)) { - if (bio->bi_iter.bi_size > UINT_MAX - len) - return false; + if (page == bv->bv_page && off == bv->bv_offset + bv->bv_len) { bv->bv_len += len; bio->bi_iter.bi_size += len; return true;