[BISECTED] vc4: f309946 crashes the kernel if vc4 can't allocate buffers
Noralf Trønnes
noralf at tronnes.org
Mon Jul 31 15:31:42 UTC 2017
The following commit crashes the kernel if vc4 can't allocate buffers:
drm/vc4: Add an ioctl for labeling GEM BOs for summary stats
It boots fine if I give it enough memory: cma=128M
I'm doing this on a Pi1 with bcm2835_defconfig.
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] random: get_random_bytes called from
start_kernel+0x30/0x3c8 with crng_init=0
[ 0.000000] Linux version 4.13.0-rc2+ (pi at agl) (gcc version 4.9.3
(crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1 Mon Jul 31 15:27:34
CEST 2017
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7
(ARMv7), cr=00c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing
instruction cache
[ 0.000000] OF: fdt: Machine model: Raspberry Pi Model B Plus Rev 1.2
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Reserved 12 MiB at 0x1b000000
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 113792
[ 0.000000] Kernel command line: earlyprintk console=ttyAMA0
bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1
dma.dmachans=0x7f35 bcm2708.boardrev=0x10 bcm2708.serial=0xa1725dd1
bcm2708.uart_clock=48000000 bcm2708.disk_led_gpio=47
bcm2708.disk_led_active_low=0 smsc95xx.macaddr=B8:27:EB:72:5D:D1
vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 drm.debug=0x0
cma=12M dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200
root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes
rootwait
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144
bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072
bytes)
[ 0.000000] Memory: 429820K/458752K available (7168K kernel code,
527K rwdata, 2204K rodata, 1024K init, 684K bss, 16644K reserved, 12288K
cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xdc800000 - 0xff800000 ( 560 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xdc000000 ( 448 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0800000 (8160 kB)
[ 0.000000] .init : 0xc0b00000 - 0xc0c00000 (1024 kB)
[ 0.000000] .data : 0xc0c00000 - 0xc0c83fe0 ( 528 kB)
[ 0.000000] .bss : 0xc0c8a3e8 - 0xc0d357dc ( 685 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] ftrace: allocating 24917 entries in 74 pages
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000030] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps
every 2147483647500ns
[ 0.000071] clocksource: timer: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 1911260446275 ns
[ 0.000155] bcm2835: system timer (irq = 27)
[ 0.000747] Console: colour dummy device 80x30
[ 0.001727] console [tty1] enabled
[ 0.001783] Calibrating delay loop... 697.95 BogoMIPS (lpj=3489792)
[ 0.060348] pid_max: default: 32768 minimum: 301
[ 0.060766] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.060840] Mountpoint-cache hash table entries: 1024 (order: 0, 4096
bytes)
[ 0.061831] CPU: Testing write buffer coherency: ok
[ 0.062919] Setting up static identity map for 0x100000 - 0x100054
[ 0.067672] devtmpfs: initialized
[ 0.076233] VFP support v0.3: implementor 41 architecture 1 part 20
variant b rev 5
[ 0.076759] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.076866] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.078775] pinctrl core: initialized pinctrl subsystem
[ 0.079456] NET: Registered protocol family 16
[ 0.082097] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[ 0.087731] No ATAGs?
[ 0.087768] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[ 0.087882] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.088208] Serial: AMBA PL011 UART driver
[ 0.110991] SCSI subsystem initialized
[ 0.111548] usbcore: registered new interface driver usbfs
[ 0.111731] usbcore: registered new interface driver hub
[ 0.111937] usbcore: registered new device driver usb
[ 0.112719] Advanced Linux Sound Architecture Driver Initialized.
[ 0.115728] clocksource: Switched to clocksource timer
[ 0.198960] simple-framebuffer 1eb75000.framebuffer: framebuffer at
0x1eb75000, 0x85400 bytes, mapped to 0xdc900000
[ 0.199092] simple-framebuffer 1eb75000.framebuffer: format=r5g6b5,
mode=656x416x16, linelength=1312
[ 0.205329] Console: switching to colour frame buffer device 82x26
[ 0.214619] simple-framebuffer 1eb75000.framebuffer: fb0: simplefb
registered!
[ 0.238520] NET: Registered protocol family 2
[ 0.243688] TCP established hash table entries: 4096 (order: 2, 16384
bytes)
[ 0.248000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.252123] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.256292] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.260255] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.264409] NET: Registered protocol family 1
[ 0.269006] RPC: Registered named UNIX socket transport module.
[ 0.272953] RPC: Registered udp transport module.
[ 0.276797] RPC: Registered tcp transport module.
[ 0.280456] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.286535] hw perfevents: no irqs for PMU, sampling events not supported
[ 0.290396] hw perfevents: enabled with armv6_1176 PMU driver, 3
counters available
[ 0.300290] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[ 0.321011] Installing knfsd (copyright (C) 1996 okir at monad.swb.de).
[ 0.327344] random: fast init done
[ 0.336751] jitterentropy: Initialization failed with host not
compliant with requirements: 2
[ 0.345425] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[ 0.353707] io scheduler noop registered
[ 0.357782] io scheduler deadline registered (default)
[ 0.362278] io scheduler cfq registered
[ 0.366233] io scheduler mq-deadline registered
[ 0.369987] io scheduler kyber registered
[ 0.390927] libphy: Fixed MDIO Bus: probed
[ 0.394985] usbcore: registered new interface driver zd1211rw
[ 0.398932] usbcore: registered new interface driver asix
[ 0.402534] usbcore: registered new interface driver ax88179_178a
[ 0.406173] usbcore: registered new interface driver cdc_ether
[ 0.409642] usbcore: registered new interface driver smsc95xx
[ 0.412929] usbcore: registered new interface driver net1080
[ 0.416258] usbcore: registered new interface driver cdc_subset
[ 0.419432] usbcore: registered new interface driver zaurus
[ 0.422636] usbcore: registered new interface driver cdc_ncm
[ 0.426486] usbcore: registered new interface driver usb-storage
[ 0.429829] i2c /dev entries driver
[ 0.434689] i2c-bcm2835 20805000.i2c: Could not read clock-frequency
property
[ 0.439744] bcm2835-wdt 20100000.watchdog: Broadcom BCM2835 watchdog
timer
[ 0.443158] sdhci: Secure Digital Host Controller Interface driver
[ 0.446127] sdhci: Copyright(c) Pierre Ossman
[ 0.585809] sdhost-bcm2835 20202000.mmc: loaded - DMA enabled (>1)
[ 0.588920] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.592740] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.596283] usbcore: registered new interface driver usbhid
[ 0.598962] usbhid: USB HID core driver
[ 0.601800] bcm2835-mbox 2000b880.mailbox: mailbox enabled
[ 0.606425] oprofile: using arm/armv6
[ 0.610839] NET: Registered protocol family 10
[ 0.615539] Segment Routing with IPv6
[ 0.618726] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 0.622916] NET: Registered protocol family 17
[ 0.632768] 20201000.serial: ttyAMA0 at MMIO 0x20201000 (irq = 81,
base_baud = 0) is a PL011 rev2
[ 0.981828] mmc0: host does not support reading read-only switch,
assuming write-enable
[ 0.998918] mmc0: new high speed SDHC card at address aaaa
[ 1.009065] mmcblk0: mmc0:aaaa SL08G 7.40 GiB
[ 1.367365] console [ttyAMA0] enabled
[ 1.377254] raspberrypi-firmware soc:firmware: Attached to firmware
from 2017-07-11 12:29
[ 1.396463] vc4_hdmi 20902000.hdmi: vc4-hdmi-hifi <-> 20902000.hdmi
mapping ok
[ 1.408899] vc4-drm soc:gpu: bound 20902000.hdmi (ops vc4_hdmi_ops)
[ 1.419296] vc4-drm soc:gpu: bound 20806000.vec (ops vc4_vec_ops)
[ 1.429360] vc4-drm soc:gpu: bound 20400000.hvs (ops vc4_hvs_ops)
[ 1.439607] vc4-drm soc:gpu: bound 20206000.pixelvalve (ops vc4_crtc_ops)
[ 1.450578] vc4-drm soc:gpu: bound 20207000.pixelvalve (ops vc4_crtc_ops)
[ 1.461398] vc4-drm soc:gpu: bound 20807000.pixelvalve (ops vc4_crtc_ops)
[ 1.471899] vc4-drm soc:gpu: failed to allocate buffer with size 16777216
[ 1.482322] vc4-drm soc:gpu: failed to allocate buffer with size 16777216
[ 1.492558] [drm:vc4_bo_create] *ERROR* Failed to allocate from CMA:
[ 1.502334] vc4_v3d 20c00000.v3d: Failed to allocate memory for tile
binning: -12. You may need to enable CMA or give it more memory.
[ 1.521188] vc4-drm soc:gpu: failed to bind 20c00000.v3d (ops
vc4_v3d_ops): -12
[ 1.533757] mmcblk0: p1 p2
[ 1.542525] vc4-drm soc:gpu: master bind failed: -12
[ 1.551298] vc4_v3d: probe of 20c00000.v3d failed with error -12
[ 1.640411] dwc2 20980000.usb: DWC OTG Controller
[ 1.648902] dwc2 20980000.usb: new USB bus registered, assigned bus
number 1
[ 1.659736] dwc2 20980000.usb: irq 33, io mem 0x20980000
[ 1.670235] hub 1-0:1.0: USB hub found
[ 1.677751] hub 1-0:1.0: 1 port detected
[ 1.686403] ALSA device list:
[ 1.692716] No soundcards found.
[ 1.699817] uart-pl011 20201000.serial: no DMA platform data
[ 1.708935] Unable to handle kernel paging request at virtual address
f000012f
[ 1.719468] pgd = c0004000
[ 1.725294] [f000012f] *pgd=00000000
[ 1.731939] Internal error: Oops: 5 [#1] ARM
[ 1.739299] Modules linked in:
[ 1.745466] CPU: 0 PID: 1 Comm: swapper Not tainted 4.13.0-rc2+ #1
[ 1.754879] Hardware name: BCM2835
[ 1.761559] task: da8e4000 task.stack: da8e2000
[ 1.769499] PC is at kmem_cache_alloc+0x8c/0x164
[ 1.777498] LR is at kmem_cache_alloc+0x3c/0x164
[ 1.785497] pc : [<c021cd78>] lr : [<c021cd28>] psr: a0000013
[ 1.795160] sp : da8e3ec0 ip : 00000410 fp : da8e3eec
[ 1.803712] r10: 00000000 r9 : c097088b r8 : c0c8a400
[ 1.812169] r7 : c013b700 r6 : 014000c0 r5 : da801d80 r4 : f000012f
[ 1.821890] r3 : 00000000 r2 : 00000000 r1 : 014000c0 r0 : 00000000
[ 1.831539] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM
Segment none
[ 1.841872] Control: 00c5387d Table: 00004008 DAC: 00000051
[ 1.850802] Process swapper (pid: 1, stack limit = 0xda8e2208)
[ 1.859820] Stack: (0xda8e3ec0 to 0xda8e4000)
[ 1.867346] 3ec0: c02423fc c02423fc 00000008 da8e4000 c0b55834
c0b7b2d4 c0c8a400 c097088b
[ 1.881962] 3ee0: da8e3f04 da8e3ef0 c013b700 c021ccf8 00000008
00000000 da8e3f4c da8e3f08
[ 1.897034] 3f00: c0223ea8 c013b6d8 00000000 00000008 ffffff9c
c0b55834 00000002 daab4000
[ 1.912531] 3f20: c0b55834 00000008 0000009a c0b55834 c0b7b2d4
c0c8a400 c0c8a400 00000000
[ 1.928152] 3f40: da8e3f5c da8e3f50 c0224050 c0223e80 da8e3f94
da8e3f60 c0b00f40 c0224034
[ 1.944130] 3f60: 00000007 00000007 00000000 c0b00654 00000000
c0710a88 00000000 00000000
[ 1.960471] 3f80: 00000000 00000000 da8e3fac da8e3f98 c0710aa0
c0b00dd8 ffffffff 00000000
[ 1.977050] 3fa0: 00000000 da8e3fb0 c0107ff8 c0710a94 00000000
00000000 00000000 00000000
[ 1.994074] 3fc0: 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[ 2.011430] 3fe0: 00000000 00000000 00000000 00000000 00000013
00000000 00000000 00000000
[ 2.029137] [<c021cd78>] (kmem_cache_alloc) from [<c013b700>]
(prepare_creds+0x34/0x98)
[ 2.046974] [<c013b700>] (prepare_creds) from [<c0223ea8>]
(SyS_faccessat+0x34/0x1b4)
[ 2.064759] [<c0223ea8>] (SyS_faccessat) from [<c0224050>]
(SyS_access+0x28/0x2c)
[ 2.082397] [<c0224050>] (SyS_access) from [<c0b00f40>]
(kernel_init_freeable+0x174/0x1d4)
[ 2.100857] [<c0b00f40>] (kernel_init_freeable) from [<c0710aa0>]
(kernel_init+0x18/0x11c)
[ 2.119325] [<c0710aa0>] (kernel_init) from [<c0107ff8>]
(ret_from_fork+0x14/0x3c)
[ 2.137058] Code: e1a04000 e121f008 ea000014 e5953014 (e7941003)
[ 2.148284] ---[ end trace ce8a0c43d048416d ]---
[ 2.158146] Unable to handle kernel paging request at virtual address
f000012f
[ 2.170511] pgd = c0004000
[ 2.178144] [f000012f] *pgd=00000000
[ 2.186564] Internal error: Oops: 5 [#2] ARM
[ 2.195585] Modules linked in:
[ 2.203269] CPU: 0 PID: 47 Comm: kworker/0:2 Tainted: G D
4.13.0-rc2+ #1
[ 2.220215] Hardware name: BCM2835
[ 2.228093] Workqueue: events_power_efficient hub_init_func2
[ 2.238221] task: daa60f00 task.stack: daa92000
[ 2.247117] PC is at __kmalloc+0xc4/0x198
[ 2.255387] LR is at __kmalloc+0x74/0x198
[ 2.263480] pc : [<c021d034>] lr : [<c021cfe4>] psr: a0000113
[ 2.273831] sp : daa93dc0 ip : 00000410 fp : daa93dec
[ 2.283056] r10: daa93ed4 r9 : 000000a3 r8 : c049b9d4
[ 2.292158] r7 : 01400000 r6 : 0000007c r5 : da801d80 r4 : f000012f
[ 2.302516] r3 : 00000000 r2 : 00000000 r1 : 01400000 r0 : 00000000
[ 2.312774] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM
Segment none
[ 2.323636] Control: 00c5387d Table: 00004008 DAC: 00000051
[ 2.333040] Process kworker/0:2 (pid: 47, stack limit = 0xdaa92208)
[ 2.342930] Stack: (0xdaa93dc0 to 0xdaa94000)
[ 2.350821] 3dc0: c0144c64 c021d148 daab3180 00000004 80000180
daac4000 00000000 000000a3
[ 2.365957] 3de0: daa93e04 daa93df0 c049b9d4 c021cf7c 00000001
daab3180 daa93e34 daa93e08
[ 2.381216] 3e00: c049c89c c049b9c0 daa93e54 c0713158 ffffff92
daac7800 00000000 00000005
[ 2.396595] 3e20: daac7818 00000004 daa93e94 daa93e38 c049177c
c049c834 00000000 00000001
[ 2.412338] 3e40: daac6b40 00000004 000003e8 c0145a40 00000001
daac4000 00000001 00000004
[ 2.428427] 3e60: 00000000 daac6b40 c0145a40 daac7800 00000001
daac4000 00000001 00000000
[ 2.444731] 3e80: 00000000 00000000 daa93eac daa93e98 c0491878
c04916c0 daa93ed6 00000000
[ 2.461332] 3ea0: daa93f04 daa93eb0 c0494698 c0491854 ffffffff
c0711468 daa60f00 da8e4000
[ 2.478342] 3ec0: d3053b52 c0c03048 daa93eec daac7a00 c0c0c0a0
00000000 c0c23538 daa7cc00
[ 2.495674] 3ee0: daac78cc 00000000 dbc5a600 c0c0b468 00000000
daa7cc00 daa93f14 daa93f08
[ 2.513372] 3f00: c0494a80 c0494470 daa93f4c daa93f18 c0133c48
c0494a6c c0c0b47c daa7cc18
[ 2.531398] 3f20: 00000008 c0c0b468 c0c0b468 c0c13700 c0c0b47c
daa7cc18 00000008 daa7cc00
[ 2.549551] 3f40: daa93f7c daa93f50 c0134a80 c0133a58 00000000
daa7bfc0 daa7bdc0 00000000
[ 2.567876] 3f60: daa7cc00 c01347c8 da8f1eac daa7bfd8 daa93fac
daa93f80 c0139654 c01347d4
[ 2.586215] 3f80: ffffffff daa7bdc0 c0139518 00000000 00000000
00000000 00000000 00000000
[ 2.604560] 3fa0: 00000000 daa93fb0 c0107ff8 c0139524 00000000
00000000 00000000 00000000
[ 2.622904] 3fc0: 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[ 2.641249] 3fe0: 00000000 00000000 00000000 00000000 00000013
00000000 00000000 00000000
[ 2.659620] [<c021d034>] (__kmalloc) from [<c049b9d4>]
(usb_alloc_urb+0x20/0x34)
[ 2.677204] [<c049b9d4>] (usb_alloc_urb) from [<c049c89c>]
(usb_control_msg+0x74/0xdc)
[ 2.695295] [<c049c89c>] (usb_control_msg) from [<c049177c>]
(hub_ext_port_status+0xc8/0x194)
[ 2.714024] [<c049177c>] (hub_ext_port_status) from [<c0491878>]
(hub_port_status+0x30/0x38)
[ 2.732660] [<c0491878>] (hub_port_status) from [<c0494698>]
(hub_activate+0x234/0x598)
[ 2.750864] [<c0494698>] (hub_activate) from [<c0494a80>]
(hub_init_func2+0x20/0x24)
[ 2.768800] [<c0494a80>] (hub_init_func2) from [<c0133c48>]
(process_one_work+0x1fc/0x374)
[ 2.787276] [<c0133c48>] (process_one_work) from [<c0134a80>]
(worker_thread+0x2b8/0x404)
[ 2.805674] [<c0134a80>] (worker_thread) from [<c0139654>]
(kthread+0x13c/0x158)
[ 2.823268] [<c0139654>] (kthread) from [<c0107ff8>]
(ret_from_fork+0x14/0x3c)
[ 2.835701] Code: e1a04000 e121f009 ea000014 e5953014 (e7941003)
[ 2.846941] ---[ end trace ce8a0c43d048416e ]---
[ 2.856800] Kernel panic - not syncing: Attempted to kill init!
exitcode=0x0000000b
[ 2.856800]
[ 2.880682] ---[ end Kernel panic - not syncing: Attempted to kill
init! exitcode=0x0000000b
[ 2.880682]
More information about the dri-devel
mailing list