drm/vc4: NULL pointer dereference after failed to allocate buffer

Stefan Wahren stefan.wahren at i2se.com
Fri Jun 3 18:01:47 UTC 2016


Hi,

i tried to boot 4.7.0-rc1-next-20160602 with bcm2835_defconfig on a Raspberry Pi
B.

Unfortunately it crashes with a NULL pointer dereference and many oops
following:
...
[    2.209373] vc4-drm soc:gpu: bound 20902000.hdmi (ops vc4_hdmi_ops)
[    2.228303] vc4-drm soc:gpu: bound 20206000.pixelvalve (ops vc4_crtc_ops)
[    2.247681] vc4-drm soc:gpu: bound 20207000.pixelvalve (ops vc4_crtc_ops)
[    2.270300] vc4-drm soc:gpu: bound 20807000.pixelvalve (ops vc4_crtc_ops)
[    2.288902] vc4-drm soc:gpu: bound 20400000.hvs (ops vc4_hvs_ops)
[    2.307006] vc4-drm soc:gpu: bound 20c00000.v3d (ops vc4_v3d_ops)
[    2.325069] fb: switching to vc4drmfb from simple
[    2.341322] Console: switching to colour dummy device 80x30
[    2.350955] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.357821] [drm] No driver support for vblank timestamp query.
[    2.368495] mmc0: new SDHC card at address 1234
[    2.374284] mmcblk0: mmc0:1234 SA32G 29.3 GiB
[    2.381213]  mmcblk0: p1 p2
[    2.398018] vc4-drm soc:gpu: failed to allocate buffer with size 9216000
[    2.404912] Unable to handle kernel NULL pointer dereference at virtual
address 00000000
[    2.413070] pgd = c0004000
[    2.415856] [00000000] *pgd=00000000
[    2.419501] Internal error: Oops: 80000005 [#1] ARM
[    2.424425] CPU: 0 PID: 6 Comm: kworker/u2:0 Not tainted
4.7.0-rc1-next-20160602+ #2
[    2.432214] Hardware name: BCM2835
[    2.435677] Workqueue: deferwq deferred_probe_work_func
[    2.440948] task: cb8957c0 ti: cb8b2000 task.ti: cb8b2000
[    2.446378] PC is at 0x0
[    2.448953] LR is at drm_gem_cma_create+0xf0/0x108
[    2.453781] pc : [<00000000>]    lr : [<c03f21dc>]    psr: 60000013
[    2.453781] sp : cb8b3bd0  ip : cb8b39d8  fp : cb8b3c04
[    2.465313] r10: cbae4430  r9 : 00000004  r8 : cbab7400
[    2.470568] r7 : cb921410  r6 : 008ca000  r5 : c0b07164  r4 : fffffff4
[    2.477126] r3 : 00000000  r2 : 43beb6c4  r1 : 00000000  r0 : cbae43c0
[    2.483684] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    2.490849] Control: 00c5387d  Table: 00004008  DAC: 00000051
[    2.496624] Process kworker/u2:0 (pid: 6, stack limit = 0xcb8b2208)
[    2.502921] Stack: (0xcb8b3bd0 to 0xcb8b4000)
[    2.507310] 3bc0:                                     cb8b3bd8 cbae6a80
00000004 cb8b3bf8
[    2.515544] 3be0: cbae40c0 cbae40c0 cb8b3cc8 cbab7400 008ca000 c0b35814
cb8b3cb4 cb8b3c08
[    2.523778] 3c00: c03d1a4c c03f20f8 cbae8e00 cbacded0 cb8b3c34 cbae40c0
cbae6a00 00000003
[    2.532009] 3c20: 00000000 00000780 000004b0 34325258 00000000 00000000
00000000 00000000
[    2.540239] 3c40: 00000000 00001e00 00000000 00000000 00000000 00000000
00000000 00000000
[    2.548470] 3c60: 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
[    2.556702] 3c80: 00000000 00000000 00000800 cbae40c0 00000780 00000003
00000028 00000001
[    2.564934] 3ca0: c0b36318 00000000 cb8b3cc4 cb8b3cb8 c03d1c6c c03d19ac
cb8b3d04 cb8b3cc8
[    2.573166] 3cc0: c03d12f8 c03d1c5c 00000780 000004b0 00000780 000004b0
00000020 00000018
[    2.581400] 3ce0: cbae40c0 cbab7400 00000000 00000020 00000003 00000000
cb8b3d2c cb8b3d08
[    2.589632] 3d00: c03d1d28 c03d1078 00000001 cbab7400 cbac7210 00000000
00000001 cbab759c
[    2.597867] 3d20: cb8b3d44 cb8b3d30 c03d1d94 c03d1c80 c07290fc 00000000
cb8b3d64 cb8b3d48
[    2.606100] 3d40: c03f58f0 c03d1d7c cbab7400 00000000 cb921410 cbab7590
cb8b3d8c cb8b3d68
[    2.614336] 3d60: c03f4cac c03f585c cba822c0 cbac5d80 00000006 cba82290
cba831e4 cbac5d80
[    2.622571] 3d80: cb8b3dcc cb8b3d90 c03fcf48 c03f4ba4 cb8b3dcc cb8b3da0
cb921210 c03f4adc
[    2.630805] 3da0: c08555b1 cbac5d80 c0b36310 cba822c0 0000000a cba7bd00
00000000 00000000
[    2.639039] 3dc0: cb8b3dec cb8b3dd0 c03fd564 c03fcd54 00000000 cb921210
c0b362c4 0000000a
[    2.647272] 3de0: cb8b3dfc cb8b3df0 c03fae80 c03fd4c4 cb8b3e1c cb8b3e00
c0403fc8 c03fae6c
[    2.655504] 3e00: c0403f60 cb921210 c0b362c4 00000000 cb8b3e44 cb8b3e20
c0402760 c0403f6c
[    2.663737] 3e20: c04040ec c04d3fbc 00000001 cb921210 c0b362c4 cb8b3e90
cb8b3e64 cb8b3e48
[    2.671970] 3e40: c0402d44 c040259c 00000000 cb8b3e68 cb8b3e90 c0402c40
cb8b3e8c cb8b3e68
[    2.680207] 3e60: c0400d78 c0402c4c cb83a7dc cba830b4 cb921210 c0b365b8
cb921244 00000001
[    2.688442] 3e80: cb8b3eb4 cb8b3e90 c04023c0 c0400d28 cb921210 00000001
cb921210 c0b365b8
[    2.696674] 3ea0: cb921210 c0b0f980 cb8b3ec4 cb8b3eb8 c0402da4 c0402330
cb8b3ee4 cb8b3ec8
[    2.704910] 3ec0: c0400f8c c0402d94 00000000 cb921210 c0b36424 c0b36438
cb8b3f04 cb8b3ee8
[    2.713144] 3ee0: c0401df4 c0400f60 c0401d7c cb838700 c0b36440 cb802a00
cb8b3f3c cb8b3f08
[    2.721376] 3f00: c0130b70 c0401d88 cb802a00 c0b0f980 cb8b3f3c cb838700
cb802a00 cb802a14
[    2.729612] 3f20: c0b0f980 cb838718 00000000 00000088 cb8b3f64 cb8b3f40
c0130ff0 c01309ac
[    2.737848] 3f40: cb827b40 00000000 cb838700 c0130d5c 00000000 00000000
cb8b3fac cb8b3f68
[    2.746079] 3f60: c0135d5c c0130d68 00001000 00000000 06020001 cb838700
00000000 cb8b3f7c
[    2.754313] 3f80: cb8b3f7c 00000000 cb8b3f88 cb8b3f88 cb827b40 c0135c70
00000000 00000000
[    2.762544] 3fa0: 00000000 cb8b3fb0 c0108158 c0135c7c 00000000 00000000
00000000 00000000
[    2.770776] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000
[    2.779005] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
00008000 00000200
[    2.787276] [<c03f21dc>] (drm_gem_cma_create) from [<c03d1a4c>]
(drm_fbdev_cma_create_with_funcs+0xac/0x2b0)
[    2.797185] [<c03d1a4c>] (drm_fbdev_cma_create_with_funcs) from [<c03d1c6c>]
(drm_fbdev_cma_create+0x1c/0x24)
[    2.807175] [<c03d1c6c>] (drm_fbdev_cma_create) from [<c03d12f8>]
(drm_fb_helper_initial_config+0x28c/0x358)
[    2.817077] [<c03d12f8>] (drm_fb_helper_initial_config) from [<c03d1d28>]
(drm_fbdev_cma_init_with_funcs+0xb4/0xfc)
[    2.827584] [<c03d1d28>] (drm_fbdev_cma_init_with_funcs) from [<c03d1d94>]
(drm_fbdev_cma_init+0x24/0x30)
[    2.837231] [<c03d1d94>] (drm_fbdev_cma_init) from [<c03f58f0>]
(vc4_kms_load+0xa0/0xcc)
[    2.845400] [<c03f58f0>] (vc4_kms_load) from [<c03f4cac>]
(vc4_drm_bind+0x114/0x160)
[    2.853219] [<c03f4cac>] (vc4_drm_bind) from [<c03fcf48>]
(try_to_bring_up_master+0x200/0x298)
[    2.861907] [<c03fcf48>] (try_to_bring_up_master) from [<c03fd564>]
(component_add+0xac/0x130)
[    2.870590] [<c03fd564>] (component_add) from [<c03fae80>]
(vc4_v3d_dev_probe+0x20/0x28)
[    2.878753] [<c03fae80>] (vc4_v3d_dev_probe) from [<c0403fc8>]
(platform_drv_probe+0x68/0xb0)
[    2.887359] [<c0403fc8>] (platform_drv_probe) from [<c0402760>]
(driver_probe_device+0x1d0/0x44c)
[    2.896314] [<c0402760>] (driver_probe_device) from [<c0402d44>]
(__device_attach_driver+0x104/0x128)
[    2.905612] [<c0402d44>] (__device_attach_driver) from [<c0400d78>]
(bus_for_each_drv+0x5c/0xa4)
[    2.914473] [<c0400d78>] (bus_for_each_drv) from [<c04023c0>]
(__device_attach+0x9c/0x13c)
[    2.922814] [<c04023c0>] (__device_attach) from [<c0402da4>]
(device_initial_probe+0x1c/0x20)
[    2.931413] [<c0402da4>] (device_initial_probe) from [<c0400f8c>]
(bus_probe_device+0x38/0x90)
[    2.940100] [<c0400f8c>] (bus_probe_device) from [<c0401df4>]
(deferred_probe_work_func+0x78/0xac)
[    2.949153] [<c0401df4>] (deferred_probe_work_func) from [<c0130b70>]
(process_one_work+0x1d0/0x37c)
[    2.958365] [<c0130b70>] (process_one_work) from [<c0130ff0>]
(worker_thread+0x294/0x414)
[    2.966622] [<c0130ff0>] (worker_thread) from [<c0135d5c>]
(kthread+0xec/0x100)
[    2.974015] [<c0135d5c>] (kthread) from [<c0108158>]
(ret_from_fork+0x14/0x3c)
[    2.981300] Code: bad PC value
[    2.984494] ---[ end trace 83281596cc0bd019 ]---
[    2.989282] Unable to handle kernel paging request at virtual address
fffffff0
[    2.996571] pgd = c0004000
[    2.999309] [fffffff0] *pgd=0bffd861, *pte=00000000, *ppte=00000000
[    3.005641] Internal error: Oops: 37 [#2] ARM
[    3.010040] CPU: 0 PID: 6 Comm: kworker/u2:0 Tainted: G      D
        4.7.0-rc1-next-20160602+ #2
[    3.019047] Hardware name: BCM2835
[    3.022497] task: cb8957c0 ti: cb8b2000 task.ti: cb8b2000
[    3.027941] PC is at kthread_data+0x18/0x20
[    3.032172] LR is at wq_worker_sleeping+0x18/0xc8
[    3.036918] pc : [<c0135f0c>]    lr : [<c01305c0>]    psr: 20000193
[    3.036918] sp : cb8b3918  ip : cb8b3928  fp : cb8b3924
[    3.048449] r10: cb89598c  r9 : c06ae730  r8 : cb8957c0
[    3.053703] r7 : cb895a10  r6 : 00000000  r5 : cb8b3990  r4 : cb8957c0
[    3.060259] r3 : 00000000  r2 : cb803000  r1 : cb8957c0  r0 : cb8957c0
[    3.066816] Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment
none
[    3.074087] Control: 00c5387d  Table: 00004008  DAC: 00000051
[    3.079862] Process kworker/u2:0 (pid: 6, stack limit = 0xcb8b2208)
[    3.086158] Stack: (0xcb8b3918 to 0xcb8b4000)
[    3.090547] 3900:
                                                      cb8b3934 cb8b3928
[    3.098783] 3920: c01305c0 c0135f00 cb8b397c cb8b3938 c06ae2c0 c01305b4
cb8b3954 cb8b3948
[    3.107021] 3940: c0156a5c c01568d8 cb8b398c cb8b3958 c011d860 cb8957c0
cb8b3990 cb8b37a8
[    3.115254] 3960: 00000000 00000001 c080feb1 cb89598c cb8b398c cb8b3980
c06ae730 c06ae1d4
...


More information about the dri-devel mailing list