summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-x86_64/0009-media-s5p-mfc-fix-incorrect-bus-assignment-in-virtua.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kernels/linux-libre-x86_64/0009-media-s5p-mfc-fix-incorrect-bus-assignment-in-virtua.patch')
-rw-r--r--kernels/linux-libre-x86_64/0009-media-s5p-mfc-fix-incorrect-bus-assignment-in-virtua.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/kernels/linux-libre-x86_64/0009-media-s5p-mfc-fix-incorrect-bus-assignment-in-virtua.patch b/kernels/linux-libre-x86_64/0009-media-s5p-mfc-fix-incorrect-bus-assignment-in-virtua.patch
new file mode 100644
index 000000000..0deda34bf
--- /dev/null
+++ b/kernels/linux-libre-x86_64/0009-media-s5p-mfc-fix-incorrect-bus-assignment-in-virtua.patch
@@ -0,0 +1,38 @@
+From 5d3a19c0fd89f6721a01c882d37a6f114337edb7 Mon Sep 17 00:00:00 2001
+From: Marek Szyprowski <m.szyprowski@samsung.com>
+Date: Mon, 7 Jan 2019 13:04:14 +0100
+Subject: [PATCH 9/9] media: s5p-mfc: fix incorrect bus assignment in virtual
+ child device
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Virtual MFC codec's child devices must not be assigned to platform bus,
+because they are allocated as raw 'struct device' and don't have the
+corresponding 'platform' part. This fixes NULL pointer access revealed
+recently by commit a66d972465d1 ("devres: Align data[] to
+ARCH_KMALLOC_MINALIGN").
+
+Reported-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
+Fixes: c79667dd93b0 ("media: s5p-mfc: replace custom reserved memory handling code with generic one")
+Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
+Tested-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
+---
+ drivers/media/platform/s5p-mfc/s5p_mfc.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c
+index 8a5ba3bec3af..0a9f59d89185 100644
+--- a/drivers/media/platform/s5p-mfc/s5p_mfc.c
++++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c
+@@ -1089,7 +1089,6 @@ static struct device *s5p_mfc_alloc_memdev(struct device *dev,
+ device_initialize(child);
+ dev_set_name(child, "%s:%s", dev_name(dev), name);
+ child->parent = dev;
+- child->bus = dev->bus;
+ child->coherent_dma_mask = dev->coherent_dma_mask;
+ child->dma_mask = dev->dma_mask;
+ child->release = s5p_mfc_memdev_release;
+--
+2.19.2
+