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

Reply via email to