Forwarded: Fix reported __del_gendisk deadlock

syzbot posted 1 patch 2 months ago
Forwarded: Fix reported __del_gendisk deadlock
Posted by syzbot 2 months ago
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.

***

Subject: Fix reported __del_gendisk deadlock
Author: ujwal.kundur@gmail.com

#syz test

diff --git a/block/genhd.c b/block/genhd.c
index c26733f6324b..bad731186189 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -819,9 +819,11 @@ void del_gendisk(struct gendisk *disk)
                disable_elv_switch(disk->queue);

                memflags = memalloc_noio_save();
+               mutex_lock(&set->tag_list_lock);
                down_read(&set->update_nr_hwq_lock);
                __del_gendisk(disk);
                up_read(&set->update_nr_hwq_lock);
+               mutex_unlock(&set->tag_list_lock);
                memalloc_noio_restore(memflags);
        }
 }