aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-4.19/950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch')
-rw-r--r--target/linux/bcm27xx/patches-4.19/950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch b/target/linux/bcm27xx/patches-4.19/950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch
new file mode 100644
index 0000000000..4f49925d97
--- /dev/null
+++ b/target/linux/bcm27xx/patches-4.19/950-0317-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch
@@ -0,0 +1,44 @@
+From 7b2fac96ce48939e399707c4b8bd9905d6274a05 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Fri, 8 Mar 2019 10:38:59 +0000
+Subject: [PATCH] staging: vc_sm_cma: Remove erroneous misc_deregister
+
+Code from the misc /dev node was still present in
+bcm2835_vc_sm_cma_remove, which caused a NULL deref.
+Remove it.
+
+See #2885.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/staging/vc04_services/vc-sm-cma/vc_sm.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+--- a/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c
++++ b/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c
+@@ -25,7 +25,6 @@
+ #include <linux/fs.h>
+ #include <linux/kernel.h>
+ #include <linux/list.h>
+-#include <linux/miscdevice.h>
+ #include <linux/module.h>
+ #include <linux/mm.h>
+ #include <linux/of_device.h>
+@@ -72,7 +71,6 @@ struct sm_pde_t {
+ struct sm_state_t {
+ struct platform_device *pdev;
+
+- struct miscdevice dev;
+ struct sm_instance *sm_handle; /* Handle for videocore service. */
+
+ spinlock_t kernelid_map_lock; /* Spinlock protecting kernelid_map */
+@@ -758,9 +756,6 @@ static int bcm2835_vc_sm_cma_remove(stru
+ {
+ pr_debug("[%s]: start\n", __func__);
+ if (sm_inited) {
+- /* Remove shared memory device. */
+- misc_deregister(&sm_state->dev);
+-
+ /* Remove all proc entries. */
+ //debugfs_remove_recursive(sm_state->dir_root);
+