[PATCH] drm: fix leaked dma handles after removing drm_pci_free
Joseph Kogut
joseph.kogut at gmail.com
Tue May 18 21:28:59 UTC 2021
After removing drm_pci_alloc/free, some instances where drm_pci_free()
would have kfreed the dma handle were skipped.
Ensure these handles are freed properly.
Signed-off-by: Joseph Kogut <joseph.kogut at gmail.com>
---
drivers/gpu/drm/drm_bufs.c | 1 +
drivers/gpu/drm/r128/ati_pcigart.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
index ea3ca81be9dd..7eb3baed9a70 100644
--- a/drivers/gpu/drm/drm_bufs.c
+++ b/drivers/gpu/drm/drm_bufs.c
@@ -685,6 +685,7 @@ static void drm_cleanup_buf_error(struct drm_device *dev,
dmah->size,
dmah->vaddr,
dmah->busaddr);
+ kfree(dmah);
}
}
kfree(entry->seglist);
diff --git a/drivers/gpu/drm/r128/ati_pcigart.c b/drivers/gpu/drm/r128/ati_pcigart.c
index fbb0cfd79758..04408f372f74 100644
--- a/drivers/gpu/drm/r128/ati_pcigart.c
+++ b/drivers/gpu/drm/r128/ati_pcigart.c
@@ -71,6 +71,8 @@ static void drm_ati_free_pcigart_table(struct drm_device *dev,
drm_dma_handle_t *dmah = gart_info->table_handle;
dma_free_coherent(dev->dev, dmah->size, dmah->vaddr, dmah->busaddr);
+ kfree(dmah);
+
gart_info->table_handle = NULL;
}
--
2.31.1
More information about the dri-devel
mailing list