Re: [PATCH] spmi: mediatek: Fix UAF on device remove

From: Fei Shao
Date: Fri Aug 18 2023 - 01:10:31 EST


Just to float this up. Any feedback on this?


On Tue, Jul 18, 2023 at 2:57 PM Fei Shao <fshao@xxxxxxxxxxxx> wrote:
>
> On Mon, Jul 17, 2023 at 5:41 PM Yu-Che Cheng <giver@xxxxxxxxxxxx> wrote:
> >
> > The pmif driver data that contains the clocks is allocated along with
> > spmi_controller.
> > On device remove, spmi_controller will be freed first, and then devres
> > , including the clocks, will be cleanup.
> > This leads to UAF because putting the clocks will access the clocks in
> > the pmif driver data, which is already freed along with spmi_controller.
> >
> > This can be reproduced by enabling DEBUG_TEST_DRIVER_REMOVE and
> > building the kernel with KASAN.
> >
> > Fix the UAF issue by using unmanaged clk_bulk_get() and putting the
> > clocks before freeing spmi_controller.
> >
> > Reported-by: Fei Shao <fshao@xxxxxxxxxxxx>
> > Signed-off-by: Yu-Che Cheng <giver@xxxxxxxxxxxx>
>
> Reviewed-by: Fei Shao <fshao@xxxxxxxxxxxx>
> Tested-by: Fei Shao <fshao@xxxxxxxxxxxx>