Re: [PATCH-block v2 1/3] bdi, blk-cgroup: Fix potential UAF of blkcg

From: Waiman Long
Date: Mon Dec 12 2022 - 17:17:51 EST



On 12/12/22 17:13, Tejun Heo wrote:
On Sun, Dec 11, 2022 at 05:20:56PM -0500, Waiman Long wrote:
static void blkcg_destroy_blkgs(struct blkcg *blkcg)
{
+ /*
+ * blkcg_destroy_blkgs() shouldn't be called with all the blkcg
+ * references gone.
+ */
+ if (WARN_ON_ONCE(!css_tryget(&blkcg->css)))
+ return;
Wouldn't it make more sense to use percpu_ref_is_zero()? It's not like the
obtained extra reference does anything, right?

Yes, that makes sense. Will incorporate the change in the next version.

Thanks,
Longman