--- x/mm/filemap.c +++ y/mm/filemap.c @@ -871,6 +871,7 @@ noinline int __filemap_add_folio(struct folio_ref_add(folio, nr); folio->mapping = mapping; folio->index = xas.xa_index; + BUG_ON(mapping_exiting(mapping)); for (;;) { int order = -1, split_order = 0; --- x/block/blk.h +++ y/block/blk.h @@ -72,8 +72,6 @@ static inline int bio_queue_enter(struct struct request_queue *q = bdev_get_queue(bio->bi_bdev); if (blk_try_enter_queue(q, false)) { - rwsem_acquire_read(&q->io_lockdep_map, 0, 0, _RET_IP_); - rwsem_release(&q->io_lockdep_map, _RET_IP_); return 0; } return __bio_queue_enter(q, bio);