Re: [PATCH v2] writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs

From: Andrew Morton
Date: Mon Apr 10 2023 - 23:53:25 EST


On Mon, 10 Apr 2023 21:08:26 +0800 Baokun Li <libaokun1@xxxxxxxxxx> wrote:

>
> ...
>
> To solve this problem, percpu_ref_exit() is called under RCU protection
> to avoid race between cgwb_release_workfn() and bdi_split_work_to_wbs().
> Moreover, replace wb_get() with wb_tryget() in bdi_split_work_to_wbs(),
> and skip the current wb if wb_tryget() fails because the wb has already
> been shutdown.
>
> Fixes: b817525a4a80 ("writeback: bdi_writeback iteration must not skip dying ones")
> Fixes: f3b6a6df38aa ("writeback, cgroup: keep list of inodes attached to bdi_writeback")

Two Fixes: is awkward. The Fixes: serves a guide to which kernel
versions should be patched, but those two commits are six years apart.

So... how far back should this fix be backported?

> fs/fs-writeback.c | 17 ++++++++++-------
> mm/backing-dev.c | 12 ++++++++++--

Jens, which tree do you think should carry this?