Re: [PATCH] media: renesas: vsp1: Fix NULL pointer deref on module unload
From: Jacopo Mondi
Date: Wed Mar 11 2026 - 05:13:43 EST
Hi Tomi
I intend to send out soon a series for other Renesas components
which shouldn't be controversial. If I can get tags quickly I intend
to send a pull request for v7.0 next week.
I can include this patch and your other one which I don't see collected yet:
[PATCH] media: renesas: vin: Fix RAW8 (again)
unless someone else intends to handle it.
On Wed, Mar 11, 2026 at 08:15:43AM +0200, Tomi Valkeinen wrote:
> Hi,
>
> Ping. Would be good to have this fix merged.
>
> Tomi
>
> On 15/01/2026 11:22, Tomi Valkeinen wrote:
> > From: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx>
> >
> > When unloading the module on gen 4, we hit a NULL pointer dereference.
> > This is caused by the cleanup code calling vsp1_drm_cleanup() where it
> > should be calling vsp1_vspx_cleanup().
> >
> > Fix this by checking the IP version and calling the drm or vspx function
> > accordingly, the same way as the init code does.
> >
> > Fixes: d06c1a9f348d ("media: vsp1: Add VSPX support")
> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx>
> > ---
> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
> > ---
> > drivers/media/platform/renesas/vsp1/vsp1_drv.c | 8 ++++++--
> > 1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drv.c b/drivers/media/platform/renesas/vsp1/vsp1_drv.c
> > index 6c64657fc4f3..30df9b36642d 100644
> > --- a/drivers/media/platform/renesas/vsp1/vsp1_drv.c
> > +++ b/drivers/media/platform/renesas/vsp1/vsp1_drv.c
> > @@ -240,8 +240,12 @@ static void vsp1_destroy_entities(struct vsp1_device *vsp1)
> > media_device_unregister(&vsp1->media_dev);
> > media_device_cleanup(&vsp1->media_dev);
> >
> > - if (!vsp1->info->uapi)
> > - vsp1_drm_cleanup(vsp1);
> > + if (!vsp1->info->uapi) {
> > + if (vsp1->info->version == VI6_IP_VERSION_MODEL_VSPX_GEN4)
> > + vsp1_vspx_cleanup(vsp1);
> > + else
> > + vsp1_drm_cleanup(vsp1);
> > + }
> > }
> >
> > static int vsp1_create_entities(struct vsp1_device *vsp1)
> >
> > ---
> > base-commit: 7d0a66e4bb9081d75c82ec4957c50034cb0ea449
> > change-id: 20260115-rcar-vsp-crash-fix-8d4871f0f39e
> >
> > Best regards,
>