diff options
| author | Dave Airlie <airlied@redhat.com> | 2026-03-21 01:52:29 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2026-03-21 01:52:36 +1000 |
| commit | 437eccb1a89d7038776d3119e54bfda119c6e92a (patch) | |
| tree | c657bf147f0f9ab36363b72d2116bd583361fe63 /drivers/gpu/drm/drm_pagemap_util.c | |
| parent | d551d2e876bf0e5f41d3cf54d4d63180cd8b8ff0 (diff) | |
| parent | cffcb42c57686e9a801dfcf37a3d0c62e51c1c3e (diff) | |
Merge tag 'drm-misc-fixes-2026-03-19' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes
A doc warning fix and a memory leak fix for vmwgfx, a deadlock fix and
interrupt handling fixes for imagination, a locking fix for
pagemap_until, a UAF fix for drm_dev_unplug, and a multi-channel audio
handling fix for dw-hdmi-qp.
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Maxime Ripard <mripard@redhat.com>
Link: https://patch.msgid.link/20260319-lush-righteous-malamute-e7bb98@houat
Diffstat (limited to 'drivers/gpu/drm/drm_pagemap_util.c')
| -rw-r--r-- | drivers/gpu/drm/drm_pagemap_util.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/gpu/drm/drm_pagemap_util.c b/drivers/gpu/drm/drm_pagemap_util.c index 14ddb948a32e..6111d90a38e2 100644 --- a/drivers/gpu/drm/drm_pagemap_util.c +++ b/drivers/gpu/drm/drm_pagemap_util.c @@ -65,18 +65,14 @@ static void drm_pagemap_cache_fini(void *arg) drm_dbg(cache->shrinker->drm, "Destroying dpagemap cache.\n"); spin_lock(&cache->lock); dpagemap = cache->dpagemap; - if (!dpagemap) { - spin_unlock(&cache->lock); - goto out; - } + cache->dpagemap = NULL; + if (dpagemap && !drm_pagemap_shrinker_cancel(dpagemap)) + dpagemap = NULL; + spin_unlock(&cache->lock); - if (drm_pagemap_shrinker_cancel(dpagemap)) { - cache->dpagemap = NULL; - spin_unlock(&cache->lock); + if (dpagemap) drm_pagemap_destroy(dpagemap, false); - } -out: mutex_destroy(&cache->lookup_mutex); kfree(cache); } |
