On 11/5/19 9:09 AM, Tejun Heo wrote: > blkcg_print_stat() iterates blkgs under RCU and doesn't test whether > the blkg is online. This can call into pd_stat_fn() on a pd which is > still being initialized leading to an oops. > > The heaviest operation - recursively summing up rwstat counters - is > already done while holding the queue_lock. Expand queue_lock to cover > the other operations and skip the blkg if it isn't online yet. The > online state is protected by both blkcg and queue locks, so this > guarantees that only online blkgs are processed. Applied, thanks Tejun. -- Jens Axboe