Re: [PATCH] media: renesas: vsp1: Fix NULL pointer deref on module unload
From: Tomi Valkeinen
Date: Wed Mar 11 2026 - 05:08:21 EST
Hi,
On 11/03/2026 11:06, Jacopo Mondi wrote:
> 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.
Sounds fine to me.
Tomi
>
> 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,
>>