staging: vc04_services: vchiq_arm: Fix NULL ptr dereferences
authorStefan Wahren <wahrenst@gmx.net>
Sat, 20 Apr 2024 09:12:40 +0000 (11:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 May 2024 16:41:36 +0000 (18:41 +0200)
The commit 8c9753f63905 ("staging: vc04_services: vchiq_arm: Drop
g_cache_line_size") introduced NULL pointer dereferences by
using the wrong device.

Fixes: 8c9753f63905 ("staging: vc04_services: vchiq_arm: Drop g_cache_line_size")
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Link: https://lore.kernel.org/r/20240420091240.9552-1-wahrenst@gmx.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c

index 502ddc0f6e46370b78b46a0cbf4f822314b9b9e0..c06232fcb0fbb0c14e8b39b55dc05b2d898f6aea 100644 (file)
@@ -257,7 +257,7 @@ create_pagelist(struct vchiq_instance *instance, char *buf, char __user *ubuf,
        if (count >= INT_MAX - PAGE_SIZE)
                return NULL;
 
-       drv_mgmt = dev_get_drvdata(instance->state->dev->parent);
+       drv_mgmt = dev_get_drvdata(instance->state->dev);
 
        if (buf)
                offset = (uintptr_t)buf & (PAGE_SIZE - 1);
@@ -436,7 +436,7 @@ free_pagelist(struct vchiq_instance *instance, struct vchiq_pagelist_info *pagel
 
        dev_dbg(instance->state->dev, "arm: %pK, %d\n", pagelistinfo->pagelist, actual);
 
-       drv_mgmt = dev_get_drvdata(instance->state->dev->parent);
+       drv_mgmt = dev_get_drvdata(instance->state->dev);
 
        /*
         * NOTE: dma_unmap_sg must be called before the