Re: [PATCH block/for-linus] block: blkg_destroy_all() should clear q->root_blkg and ->root_rl.blkg

From: Tejun Heo
Date: Tue Sep 08 2015 - 11:31:46 EST


On Sat, Sep 05, 2015 at 03:47:36PM -0400, Tejun Heo wrote:
> While making the root blkg unconditional, ec13b1d6f0a0 ("blkcg: always
> create the blkcg_gq for the root blkcg") removed the part which clears
> q->root_blkg and ->root_rl.blkg during q exit. This leaves the two
> pointers dangling after blkg_destroy_all(). blk-throttle exit path
> performs blkg traversals and dereferences ->root_blkg and can lead to
> the following oops.

Jens, can you please route this one w/ Richard's tested-by added?

Thanks!

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/