summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDanilo Krummrich <dakr@redhat.com>2022-08-24 18:13:27 +0200
committerMaxime Ripard <maxime@cerno.tech>2022-08-25 09:44:26 +0200
commitb3be4520d81e7dc820de5fdab0d7d697231cf517 (patch)
tree06f1ccfec5ea54ac462faada97ace18824bb3e1e /drivers
parente0c953034a35b85b60ccc792a7d6e5fd802d944b (diff)
downloadlinux-b3be4520d81e7dc820de5fdab0d7d697231cf517.tar.gz
linux-b3be4520d81e7dc820de5fdab0d7d697231cf517.tar.bz2
linux-b3be4520d81e7dc820de5fdab0d7d697231cf517.zip
drm/vc4: hvs: protect drm_print_regset32()
In vc4_hvs_dump_state() potentially freed resources are protected from being accessed with drm_dev_enter()/drm_dev_exit(). Also include drm_print_regset32() in the protected section, since drm_print_regset32() does access memory that is typically mapped via devm_* calls. Fixes: 969cfae1f01d ("drm/vc4: hvs: Protect device resources after removal") Signed-off-by: Danilo Krummrich <dakr@redhat.com> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220824161327.330627-5-dakr@redhat.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/vc4/vc4_hvs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c
index 9e823e0de197..4ac9f5a2d5f9 100644
--- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
@@ -71,11 +71,11 @@ void vc4_hvs_dump_state(struct vc4_hvs *hvs)
struct drm_printer p = drm_info_printer(&hvs->pdev->dev);
int idx, i;
- drm_print_regset32(&p, &hvs->regset);
-
if (!drm_dev_enter(drm, &idx))
return;
+ drm_print_regset32(&p, &hvs->regset);
+
DRM_INFO("HVS ctx:\n");
for (i = 0; i < 64; i += 4) {
DRM_INFO("0x%08x (%s): 0x%08x 0x%08x 0x%08x 0x%08x\n",