]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Sep 2019 13:12:32 +0000 (15:12 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Sep 2019 13:12:32 +0000 (15:12 +0200)
added patches:
drm-mediatek-mtk_drm_drv.c-add-of_node_put-before-goto.patch

queue-4.9/drm-mediatek-mtk_drm_drv.c-add-of_node_put-before-goto.patch [new file with mode: 0644]
queue-4.9/series

diff --git a/queue-4.9/drm-mediatek-mtk_drm_drv.c-add-of_node_put-before-goto.patch b/queue-4.9/drm-mediatek-mtk_drm_drv.c-add-of_node_put-before-goto.patch
new file mode 100644 (file)
index 0000000..aef6c05
--- /dev/null
@@ -0,0 +1,44 @@
+From 165d42c012be69900f0e2f8545626cb9e7d4a832 Mon Sep 17 00:00:00 2001
+From: Nishka Dasgupta <nishkadg.linux@gmail.com>
+Date: Sat, 6 Jul 2019 19:00:21 +0530
+Subject: drm/mediatek: mtk_drm_drv.c: Add of_node_put() before goto
+
+From: Nishka Dasgupta <nishkadg.linux@gmail.com>
+
+commit 165d42c012be69900f0e2f8545626cb9e7d4a832 upstream.
+
+Each iteration of for_each_child_of_node puts the previous
+node, but in the case of a goto from the middle of the loop, there is
+no put, thus causing a memory leak. Hence add an of_node_put before the
+goto in two places.
+Issue found with Coccinelle.
+
+Fixes: 119f5173628a (drm/mediatek: Add DRM Driver for Mediatek SoC MT8173)
+
+Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
+Signed-off-by: CK Hu <ck.hu@mediatek.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/mediatek/mtk_drm_drv.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
++++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+@@ -423,12 +423,15 @@ static int mtk_drm_probe(struct platform
+                       comp = devm_kzalloc(dev, sizeof(*comp), GFP_KERNEL);
+                       if (!comp) {
+                               ret = -ENOMEM;
++                              of_node_put(node);
+                               goto err_node;
+                       }
+                       ret = mtk_ddp_comp_init(dev, node, comp, comp_id, NULL);
+-                      if (ret)
++                      if (ret) {
++                              of_node_put(node);
+                               goto err_node;
++                      }
+                       private->ddp_comp[comp_id] = comp;
+               }
index 46b415a02ee1a5f64c55bdee64e55b736e4a93b6..208ab30dee3ba0ac74a0696f26030fee4b0700c8 100644 (file)
@@ -29,3 +29,4 @@ crypto-talitos-check-data-blocksize-in-ablkcipher.patch
 crypto-talitos-fix-ecb-algs-ivsize.patch
 crypto-talitos-do-not-modify-req-cryptlen-on-decryption.patch
 crypto-talitos-hmac-snoop-no-afeu-mode-requires-sw-icv-checking.patch
+drm-mediatek-mtk_drm_drv.c-add-of_node_put-before-goto.patch