Re: [PATCH v2] block, bfq: fix UAF problem in bfqg_stats_init()
From: Tejun Heo <tj@kernel.org>
Date: 2021-10-19 18:02:12
Also in:
cgroups
From: Tejun Heo <tj@kernel.org>
Date: 2021-10-19 18:02:12
Also in:
cgroups
On Mon, Oct 18, 2021 at 10:42:25AM +0800, Zheng Liang wrote:
In bfq_pd_alloc(), the function bfqg_stats_init() init bfqg. If
blkg_rwstat_init() init bfqg_stats->bytes successful and init
bfqg_stats->ios failed, bfqg_stats_init() return failed, bfqg will
be freed. But blkg_rwstat->cpu_cnt is not deleted from the list of
percpu_counters. If we traverse the list of percpu_counters, It will
have UAF problem.
we should use blkg_rwstat_exit() to cleanup bfqg_stats bytes in the
above scenario.
Fixes: commit fd41e60331b ("bfq-iosched: stop using blkg->stat_bytes and ->stat_ios")
Signed-off-by: Zheng Liang <redacted>Acked-by: Tejun Heo <tj@kernel.org> Thanks. -- tejun