OSDN Git Service

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)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 7 Jan 2019 19:39:36 +0000 (14:39 -0500)
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>
drivers/media/platform/s5p-mfc/s5p_mfc.c

index 8a5ba3b..0a9f59d 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;