linux_dsm_epyc7002/drivers/media/platform
Geert Uytterhoeven 8e48a2d54c [media] soc-camera: Fix devm_kfree() in soc_of_bind()
Unlike scan_async_group(), soc_of_bind() doesn't allocate its
soc_camera_async_client structure using devm_kzalloc(), but has it
embedded inside the soc_of_info structure.  Hence on failure, it must
free the whole soc_of_info structure, and not just the embedded
soc_camera_async_client structure, as the latter causes a warning, and
may cause slab corruption:

    soc-camera-pdrv soc-camera-pdrv.0: Probing soc-camera-pdrv.0
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 1 at drivers/base/devres.c:887 devm_kfree+0x30/0x40()
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-shmobile-08386-g37feb0d093cb2d8e #128
    Hardware name: Generic R8A7791 (Flattened Device Tree)
    Backtrace:
    [<c0011e7c>] (dump_backtrace) from [<c0012024>] (show_stack+0x18/0x1c)
     r6:c05a923b r5:00000009 r4:00000000 r3:00204140
    [<c001200c>] (show_stack) from [<c048ed30>] (dump_stack+0x78/0x94)
    [<c048ecb8>] (dump_stack) from [<c002687c>] (warn_slowpath_common+0x8c/0xb8)
     r4:00000000 r3:00000000
    [<c00267f0>] (warn_slowpath_common) from [<c0026980>] (warn_slowpath_null+0x24/0x2c)
     r8:ee7d8214 r7:ed83b810 r6:ed83bc20 r5:fffffffa r4:ed83e510
    [<c002695c>] (warn_slowpath_null) from [<c025e0cc>] (devm_kfree+0x30/0x40)
    [<c025e09c>] (devm_kfree) from [<c032bbf4>] (soc_of_bind.isra.14+0x194/0x1d4)
    [<c032ba60>] (soc_of_bind.isra.14) from [<c032c6b8>] (soc_camera_host_register+0x208/0x31c)
     r9:00000070 r8:ee7e05d0 r7:ee153210 r6:00000000 r5:ee7e0218 r4:ed83bc20
    [<c032c4b0>] (soc_camera_host_register) from [<c032e80c>] (rcar_vin_probe+0x1f4/0x238)
     r8:ee153200 r7:00000008 r6:ee153210 r5:ed83bc10 r4:c066319c r3:000000c0
    [<c032e618>] (rcar_vin_probe) from [<c025c334>] (platform_drv_probe+0x50/0xa0)
     r10:00000000 r9:c0662fa8 r8:00000000 r7:c06a3700 r6:c0662fa8 r5:ee153210
     r4:00000000
    [<c025c2e4>] (platform_drv_probe) from [<c025af08>] (driver_probe_device+0xc4/0x208)
     r6:c06a36f4 r5:00000000 r4:ee153210 r3:c025c2e4
    [<c025ae44>] (driver_probe_device) from [<c025b108>] (__driver_attach+0x70/0x94)
     r9:c066f9c0 r8:c0624a98 r7:c065b790 r6:c0662fa8 r5:ee153244 r4:ee153210
    [<c025b098>] (__driver_attach) from [<c025984c>] (bus_for_each_dev+0x74/0x98)
     r6:c025b098 r5:c0662fa8 r4:00000000 r3:00000001
    [<c02597d8>] (bus_for_each_dev) from [<c025b1dc>] (driver_attach+0x20/0x28)
     r6:ed83c200 r5:00000000 r4:c0662fa8
    [<c025b1bc>] (driver_attach) from [<c025a00c>] (bus_add_driver+0xdc/0x1c4)
    [<c0259f30>] (bus_add_driver) from [<c025b8f4>] (driver_register+0xa4/0xe8)
     r7:c0624a98 r6:00000000 r5:c060b010 r4:c0662fa8
    [<c025b850>] (driver_register) from [<c025ccd0>] (__platform_driver_register+0x50/0x64)
     r5:c060b010 r4:ed8394c0
    [<c025cc80>] (__platform_driver_register) from [<c060b028>] (rcar_vin_driver_init+0x18/0x20)
    [<c060b010>] (rcar_vin_driver_init) from [<c05edde8>] (do_one_initcall+0x108/0x1b8)
    [<c05edce0>] (do_one_initcall) from [<c05edfb4>] (kernel_init_freeable+0x11c/0x1e4)
     r9:c066f9c0 r8:c066f9c0 r7:c062eab0 r6:c06252c4 r5:000000ad r4:00000006
    [<c05ede98>] (kernel_init_freeable) from [<c048c3d0>] (kernel_init+0x10/0xec)
     r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c048c3c0 r4:00000000
    [<c048c3c0>] (kernel_init) from [<c000eba0>] (ret_from_fork+0x14/0x34)
     r4:00000000 r3:ee04e000
    ---[ end trace e3a984cc0335c8a0 ]---
    rcar_vin e6ef1000.video: group probe failed: -6

Fixes: 1ddc6a6caa ("[media] soc_camera: add support for dt binding soc_camera drivers")

Cc: <stable@vger.kernel.org> # 3.17+
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-03-03 10:15:48 -03:00
..
am437x [media] media: platform: fix platform_no_drv_owner.cocci warnings 2015-02-02 13:35:49 -02:00
blackfin Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
coda [media] coda: simplify check in coda_buf_queue 2015-02-02 10:38:21 -02:00
davinci [media] davinci: add V4L2 dependencies 2015-02-02 11:09:02 -02:00
exynos4-is Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
exynos-gsc [media] media: exynos-gsc: use vb2_ops_wait_prepare/finish helper 2014-12-22 14:34:35 -02:00
marvell-ccic [media] marvell-ccic: MMP_CAMERA no longer builds 2015-02-02 13:35:27 -02:00
omap [media] omap_vout: fix compile warnings 2014-12-02 11:35:05 -02:00
omap3isp Linux 3.19-rc6 2015-01-27 09:39:34 -02:00
s3c-camif [media] media: s3c-camif: use vb2_ops_wait_prepare/finish helper 2014-12-22 14:33:27 -02:00
s5p-g2d [media] s5p-g2d: remove unnecessary version.h inclusion 2015-02-02 09:58:23 -02:00
s5p-jpeg Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
s5p-mfc [media] s5p-mfc: remove unnecessary version.h inclusion 2015-02-02 09:58:35 -02:00
s5p-tv [media] media: s5p-tv: use vb2_ops_wait_prepare/finish helper 2014-12-22 14:35:52 -02:00
soc_camera [media] soc-camera: Fix devm_kfree() in soc_of_bind() 2015-03-03 10:15:48 -03:00
ti-vpe [media] media: ti-vpe: Use mem-to-mem ioctl helpers 2015-02-02 13:34:18 -02:00
vivid [media] vivid: use consistent colorspace/Y'CbCr Encoding strings 2015-02-02 11:08:28 -02:00
vsp1 [media] v4l: vsp1: Fix VI6_DISP_IRQ_STA_LNE macro 2015-01-27 10:38:24 -02:00
arv.c [media] media: remove the setting of the flag V4L2_FL_USE_FH_PRIO 2014-07-04 16:14:59 -03:00
fsl-viu.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
Kconfig [media] adv7180: Add media controller support 2015-02-02 11:45:35 -02:00
m2m-deinterlace.c media: platform: drop owner assignment from platform_drivers 2014-10-20 16:20:44 +02:00
Makefile [media] media: platform: add VPFE capture driver support for AM437X 2014-12-23 12:09:58 -02:00
mx2_emmaprp.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sh_veu.c [media] media: sh_veu: use vb2_ops_wait_prepare/finish helper 2014-12-22 14:35:13 -02:00
sh_vou.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
timblogiw.c media: platform: drop owner assignment from platform_drivers 2014-10-20 16:20:44 +02:00
via-camera.c [media] media/platform: fix querycap 2014-12-02 11:31:34 -02:00
via-camera.h
vim2m.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00