On 9/26/19 12:23 AM, Ming Lei wrote: > Commit c48dac137a62 ("block: don't hold q->sysfs_lock in elevator_init_mq") > removes q->sysfs_lock from elevator_init_mq(), but forgot to deal with > lockdep_assert_held() called in blk_mq_sched_free_requests() which is > run in failure path of elevator_init_mq(). > > blk_mq_sched_free_requests() is called in the following 3 functions: > > elevator_init_mq() > elevator_exit() > blk_cleanup_queue() > > In blk_cleanup_queue(), blk_mq_sched_free_requests() is followed exactly > by 'mutex_lock(&q->sysfs_lock)'. > > So moving the lockdep_assert_held() from blk_mq_sched_free_requests() > into elevator_exit() for fixing the report by syzbot. Applied, thanks Ming. -- Jens Axboe