Unverified Commit f032f68e authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!14598 blk-cgroup: Fix UAF in blkcg_unpin_online()

parents 9be6ae39 99e417c4
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -425,10 +425,14 @@ static inline void blkcg_pin_online(struct blkcg *blkcg)
static inline void blkcg_unpin_online(struct blkcg *blkcg)
{
	do {
		struct blkcg *parent;

		if (!refcount_dec_and_test(&blkcg->online_pin))
			break;

		parent = blkcg_parent(blkcg);
		blkcg_destroy_blkgs(blkcg);
		blkcg = blkcg_parent(blkcg);
		blkcg = parent;
	} while (blkcg);
}