openwrt/target/linux/bcm27xx/patches-6.1/950-0551-drm-vc4-hvs-Initialize-the-dlist-allocation-list-ent.patch

31 lines
949 B
Diff
Raw Normal View History

From 8c51f78f0fb8bd8a3bab02155eea8d1f5cdc1a9b Mon Sep 17 00:00:00 2001
From: Maxime Ripard <maxime@cerno.tech>
Date: Wed, 25 Jan 2023 12:38:37 +0100
Subject: [PATCH] drm/vc4: hvs: Initialize the dlist allocation list
entry
The vc4_hvs_dlist_allocation structure has a list that we don't
initialize when we allocate a new instance.
This makes any call reading the list structure (such as list_empty) fail
with a NULL pointer dereference.
Let's make sure our list is always initialized.
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
drivers/gpu/drm/vc4/vc4_hvs.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
@@ -452,6 +452,8 @@ vc4_hvs_alloc_dlist_entry(struct vc4_hvs
if (!alloc)
return ERR_PTR(-ENOMEM);
+ INIT_LIST_HEAD(&alloc->node);
+
spin_lock_irqsave(&hvs->mm_lock, flags);
ret = drm_mm_insert_node(&hvs->dlist_mm, &alloc->mm_node,
dlist_count);