media: s5p-mfc: fix incorrect bus assignment in virtual child device
authorMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 7 Jan 2019 12:04:14 +0000 (07:04 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Jul 2019 07:53:45 +0000 (09:53 +0200)
[ Upstream commit 1e0d0a5fd38192f23304ea2fc2b531fea7c74247 ]

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").

Fixes: c79667dd93b0 ("media: s5p-mfc: replace custom reserved memory handling code with generic one")

Reported-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/s5p-mfc/s5p_mfc.c

index 927a123..ca11f8a 100644 (file)
@@ -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;