diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-1019-staging-vcsm-cma-Fix-memory-leak-from-not-detaching-.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-1019-staging-vcsm-cma-Fix-memory-leak-from-not-detaching-.patch | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-1019-staging-vcsm-cma-Fix-memory-leak-from-not-detaching-.patch b/target/linux/bcm27xx/patches-5.4/950-1019-staging-vcsm-cma-Fix-memory-leak-from-not-detaching-.patch deleted file mode 100644 index 992adc67fb..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-1019-staging-vcsm-cma-Fix-memory-leak-from-not-detaching-.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 6ff310748f67d98d1c2c8ea75decd9dee13aa50c Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dave.stevenson@raspberrypi.com> -Date: Wed, 4 Nov 2020 18:54:20 +0000 -Subject: [PATCH] staging: vcsm-cma: Fix memory leak from not - detaching dmabuf - -When importing there was a missing call to detach the buffer, -so each import leaked the sg table entry. - -Actually the release process for both locally allocated and -imported buffers is identical, so fix them to both use the same -function. - -Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> ---- - .../staging/vc04_services/vc-sm-cma/vc_sm.c | 22 ++----------------- - 1 file changed, 2 insertions(+), 20 deletions(-) - ---- a/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c -+++ b/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c -@@ -237,6 +237,7 @@ static void vc_sm_add_resource(struct vc - - /* - * Cleans up imported dmabuf. -+ * Should be called with mutex held. - */ - static void vc_sm_clean_up_dmabuf(struct vc_sm_buffer *buffer) - { -@@ -244,7 +245,6 @@ static void vc_sm_clean_up_dmabuf(struct - return; - - /* Handle cleaning up imported dmabufs */ -- mutex_lock(&buffer->lock); - if (buffer->import.sgt) { - dma_buf_unmap_attachment(buffer->import.attach, - buffer->import.sgt, -@@ -255,7 +255,6 @@ static void vc_sm_clean_up_dmabuf(struct - dma_buf_detach(buffer->dma_buf, buffer->import.attach); - buffer->import.attach = NULL; - } -- mutex_unlock(&buffer->lock); - } - - /* -@@ -687,23 +686,6 @@ int vc_sm_import_dmabuf_mmap(struct dma_ - } - - static --void vc_sm_import_dma_buf_release(struct dma_buf *dmabuf) --{ -- struct vc_sm_buffer *buf = dmabuf->priv; -- -- pr_debug("%s: Relasing dma_buf %p\n", __func__, dmabuf); -- mutex_lock(&buf->lock); -- if (!buf->imported) -- return; -- -- buf->in_use = 0; -- -- vc_sm_vpu_free(buf); -- -- vc_sm_release_resource(buf); --} -- --static - void *vc_sm_import_dma_buf_kmap(struct dma_buf *dmabuf, - unsigned long offset) - { -@@ -753,7 +735,7 @@ static const struct dma_buf_ops dma_buf_ - .map_dma_buf = vc_sm_import_map_dma_buf, - .unmap_dma_buf = vc_sm_import_unmap_dma_buf, - .mmap = vc_sm_import_dmabuf_mmap, -- .release = vc_sm_import_dma_buf_release, -+ .release = vc_sm_dma_buf_release, - .attach = vc_sm_import_dma_buf_attach, - .detach = vc_sm_import_dma_buf_detatch, - .begin_cpu_access = vc_sm_import_dma_buf_begin_cpu_access, |