aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0494-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0494-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0494-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch62
1 files changed, 0 insertions, 62 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0494-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch b/target/linux/brcm2708/patches-4.19/950-0494-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch
deleted file mode 100644
index 7c9ac22610..0000000000
--- a/target/linux/brcm2708/patches-4.19/950-0494-staging-vchiq-mmal-Fix-memory-leak-of-vchiq-instance.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 123507714c5b2fd44d78f2eac3dc8ade39bb3018 Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson@raspberrypi.org>
-Date: Fri, 3 May 2019 13:27:51 +0100
-Subject: [PATCH 494/703] staging: vchiq-mmal: Fix memory leak of vchiq
- instance
-
-The vchiq instance was allocated from vchiq_mmal_init via
-vchi_initialise, but was never released with vchi_disconnect.
-
-Retain the handle and release it from vchiq_mmal_finalise.
-
-Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
----
- drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
---- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
-+++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
-@@ -176,6 +176,7 @@ struct mmal_msg_context {
- };
-
- struct vchiq_mmal_instance {
-+ VCHI_INSTANCE_T vchi_instance;
- VCHI_SERVICE_HANDLE_T handle;
-
- /* ensure serialised access to service */
-@@ -1981,7 +1982,7 @@ EXPORT_SYMBOL_GPL(vchiq_mmal_component_i
- int vchiq_mmal_component_finalise(struct vchiq_mmal_instance *instance,
- struct vchiq_mmal_component *component)
- {
-- int ret, idx;
-+ int ret;
-
- if (mutex_lock_interruptible(&instance->vchiq_mutex))
- return -EINTR;
-@@ -2094,6 +2095,8 @@ int vchiq_mmal_finalise(struct vchiq_mma
-
- idr_destroy(&instance->context_map);
-
-+ vchi_disconnect(instance->vchi_instance);
-+
- kfree(instance);
-
- return status;
-@@ -2105,7 +2108,7 @@ int vchiq_mmal_init(struct vchiq_mmal_in
- int status;
- struct vchiq_mmal_instance *instance;
- static VCHI_CONNECTION_T *vchi_connection;
-- static VCHI_INSTANCE_T vchi_instance;
-+ VCHI_INSTANCE_T vchi_instance;
- SERVICE_CREATION_T params = {
- .version = VCHI_VERSION_EX(VC_MMAL_VER, VC_MMAL_MIN_VER),
- .service_id = VC_MMAL_SERVER_NAME,
-@@ -2151,6 +2154,8 @@ int vchiq_mmal_init(struct vchiq_mmal_in
- if (!instance)
- return -ENOMEM;
-
-+ instance->vchi_instance = vchi_instance;
-+
- mutex_init(&instance->vchiq_mutex);
-
- instance->bulk_scratch = vmalloc(PAGE_SIZE);