Message ID | 20240420091240.9552-1-wahrenst@gmx.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [V2] staging: vc04_services: vchiq_arm: Fix NULL ptr dereferences | expand |
Hi Stefan, Thank you for the patch. On Sat, Apr 20, 2024 at 11:12:40AM +0200, Stefan Wahren wrote: > 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> > --- > > Changes in V2: > - drop cosmetic changes as noticed by Laurent > > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > index 502ddc0f6e46..c06232fcb0fb 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > @@ -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
Hi Stefan, Thank you for the fix On 20/04/24 2:42 pm, Stefan Wahren wrote: > 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: Umang Jain <umang.jain@ideasonboard.com> > --- > > Changes in V2: > - drop cosmetic changes as noticed by Laurent > > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > index 502ddc0f6e46..c06232fcb0fb 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > @@ -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 > -- > 2.34.1 >
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index 502ddc0f6e46..c06232fcb0fb 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -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
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> --- Changes in V2: - drop cosmetic changes as noticed by Laurent drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.34.1