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

Fei Shao fshao at chromium.org
Thu Aug 17 22:09:04 PDT 2023


Just to float this up. Any feedback on this?


On Tue, Jul 18, 2023 at 2:57 PM Fei Shao <fshao at chromium.org> wrote:
>
> On Mon, Jul 17, 2023 at 5:41 PM Yu-Che Cheng <giver at chromium.org> 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 at chromium.org>
> > Signed-off-by: Yu-Che Cheng <giver at chromium.org>
>
> Reviewed-by: Fei Shao <fshao at chromium.org>
> Tested-by: Fei Shao <fshao at chromium.org>



More information about the linux-arm-kernel mailing list