[drm] [radeon] [3.1.4] slub memory corruption in drm_vblank_cleanup

Alex Deucher alexdeucher at gmail.com
Wed Dec 14 06:10:24 PST 2011


On Wed, Dec 14, 2011 at 2:00 AM, batouzo <batouzo at gmx.com> wrote:
> On 12/14/2011 12:47 AM, Jerome Glisse wrote:
>> On Tue, Dec 13, 2011 at 6:46 PM, Jerome Glisse <j.glisse at gmail.com> wrote:
>>> On Tue, Dec 13, 2011 at 6:33 PM, batouzo <batouzo at gmx.com> wrote:
>>>> On 12/14/2011 12:31 AM, Jerome Glisse wrote:
>>>>
>>>>>> Allocated in drm_vblank_init+0x139/0x260 [drm] + Freed in
>>>>>> drm_vblank_cleanup+0x78/0x90 [drm]
>>>>>> Allocated in drm_vblank_init+0xbe/0x260 [drm] + Freed in
>>>>>> drm_vblank_cleanup+0x48/0x90 [drm]
>>>>>>
>>>>>> It is Amd Bulldozer computer, with Radeon card:
>>>>>> 01:00.0 VGA compatible controller: ATI Technologies Inc Cedar PRO
>>>>>> [Radeon HD 5450]
>>>>>>
>>>>>>    messages: http://pastebin.com/NXN5EPtG
>>>>>> config used: http://pastebin.com/AeVxEX7c
>>>>
>>>>>
>>>>> Do you boot your kernel with kexec ? Does the patch help :
>>>>
>>>> Nope. Already seen that kexec bugfix on LKML but I start system normally
>>>> not with kexec.
>>>>
>>>>> http://people.freedesktop.org/~glisse/0001-drm-radeon-disable-possible-GPU-writeback-early-v3.patch
>>>>> If not please open bug on bugs.freedesktop.org against radeon driver.
>>>>
>>>> ok
>>>>
>>>
>>> Note that this patch might also help non kexec case.
>>>
>>> Cheers,
>>> Jerome
>>
>> Oh and try booting with radeon.no_wb=1
>>
>> Cheers,
>> Jerome
>
> Using that patch on 3.1.4 results in locking for 60 seconds on startup,
> since it is now looking for firmware.
>
> This wait was not present without that patch.
>
> This looks familiar, like the 60 second wait when using netconsole
> caused by netconsole attempt to look for NIC card firmware too early
> (when / is not really mounted, just initramfs).
>
> I will report soon does it fix the crash;
>
> Though, the 60 second delay may influence the rarity of hitting BUG (it
> was the case with netconsole's 60sec wait).
> Should I just remove loading of this firmware?
>

Make sure the ucode is available in your initrd or kernel image or
filesystem depending on how you are loading the driver.  The driver
has much more limited functionality without the ucode (no acceleration
support, no interrupt support).  You may not hit the bug at all due to
the reduced functionality.

Alex

>
>
>
> [    1.386916] pci 0000:03:06.0: calling quirk_usb_early_handoff+0x0/0x575
> [    1.386918] pci 0000:03:06.0: calling pci_fixup_video+0x0/0xa6
> [    1.386925] PCI: CLS 64 bytes, default 64
> [    1.387113] Unpacking initramfs...
> [    1.569824] Freeing initrd memory: 9080k freed
> [    1.572659] pci 0000:00:00.2: PCI INT A -> GSI 55 (level, low) -> IRQ 55
> [    1.572906] pci 0000:00:00.2: irq 72 for MSI/MSI-X
> [    1.573088] AMD-Vi: Enabling IOMMU at 0000:00:00.2 cap 0x40
> [    1.634353] AMD-Vi: Lazy IO/TLB flushing enabled
> [    1.634387] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
> [    1.634421] Placing 64MB software IO TLB between ffff8800b9a5e000 -
> ffff8800bda5e000
> [    1.634456] software IO TLB at phys 0xb9a5e000 - 0xbda5e000
> [    1.639283] audit: initializing netlink socket (disabled)
> [    1.639353] type=2000 audit(1323849178.636:1): initialized
> [    1.648286] HugeTLB registered 2 MB page size, pre-allocated 0 pages
> [    1.663115] VFS: Disk quotas dquot_6.5.2
> [    1.663309] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
> [    1.663769] msgmni has been set to 7808
> [    1.664318] Block layer SCSI generic (bsg) driver version 0.4 loaded
> (major 253)
> [    1.664353] io scheduler noop registered
> [    1.664385] io scheduler deadline registered
> [    1.664684] io scheduler cfq registered (default)
> [    1.665691] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    1.667276] [drm] Initialized drm 1.1.0 20060810
> [    1.667404] [drm] radeon defaulting to kernel modesetting.
> [    1.667436] [drm] radeon kernel modesetting enabled.
> [    1.667559] radeon 0000:01:00.0: PCI INT A -> GSI 24 (level, low) ->
> IRQ 24
> [    1.667594] radeon 0000:01:00.0: setting latency timer to 64
> [    1.668367] [drm] initializing kernel modesetting (CEDAR
> 0x1002:0x68F9 0x1458:0x21F1).
> [    1.668455] [drm] register mmio base: 0xFEA20000
> [    1.668487] [drm] register mmio size: 131072
> [    1.668685] ATOM BIOS: GV
> [    1.668806] radeon 0000:01:00.0: VRAM: 512M 0x0000000000000000 -
> 0x000000001FFFFFFF (512M used)
> [    1.668842] radeon 0000:01:00.0: GTT: 512M 0x0000000020000000 -
> 0x000000003FFFFFFF
> [    1.676059] [drm] Detected VRAM RAM=512M, BAR=256M
> [    1.676094] [drm] RAM width 64bits DDR
> [    1.676270] [TTM] Zone  kernel: Available graphics memory: 1998922 kiB.
> [    1.676303] [TTM] Initializing pool allocator.
> [    1.676440] [drm] radeon: 512M of VRAM memory ready
> [    1.676476] [drm] radeon: 512M of GTT memory ready.
> [    1.676621] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
> [    1.676655] [drm] Driver supports precise vblank timestamp query.
> [    1.676759] radeon 0000:01:00.0: irq 73 for MSI/MSI-X
> [    1.676763] radeon 0000:01:00.0: radeon: using MSI.
> [    1.676903] [drm] radeon: irq initialized.
> [    1.676941] [drm] GART: num cpu pages 131072, num gpu pages 131072
> [    1.677602] [drm] Loading CEDAR Microcode
> [    2.636773] Refined TSC clocksource calibration: 3110.391 MHz.
> [    2.636809] Switching to clocksource tsc
> [   62.347154] r600_cp: Failed to load firmware "radeon/CEDAR_pfp.bin"
> [   62.347189] [drm:evergreen_startup] *ERROR* Failed to load firmware!
> [   62.347222] radeon 0000:01:00.0: disabling GPU acceleration
> [   62.348334] radeon 0000:01:00.0: ffff8801364be9a0 unpin not necessary
> [   62.348367] radeon 0000:01:00.0: ffff8801364be9a0 unpin not necessary
> [   62.348452] failed to evaluate ATIF got AE_BAD_PARAMETER
> [   62.351087] [drm] Radeon Display Connectors
> [   62.351120] [drm] Connector 0:
> [   62.351151] [drm]   DisplayPort
> [   62.351182] [drm]   HPD4
> [   62.351214] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448
> 0x644c 0x644c
> [   62.351249] [drm]   Encoders:
> [   62.351280] [drm]     DFP1: INTERNAL_UNIPHY1
> [   62.351311] [drm] Connector 1:
> [   62.351343] [drm]   HDMI-A
> [   62.351374] [drm]   HPD2
> [   62.351405] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468
> 0x646c 0x646c
> [   62.351440] [drm]   Encoders:
> [   62.351471] [drm]     DFP2: INTERNAL_UNIPHY1
> [   62.351502] [drm] Connector 2:
> [   62.351533] [drm]   HDMI-A
> [   62.351564] [drm]   HPD1
> [   62.351596] [drm]   DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458
> 0x645c 0x645c
> [   62.351630] [drm]   Encoders:
> [   62.351661] [drm]     DFP3: INTERNAL_UNIPHY
> [   62.351693] [drm] Connector 3:
> [   62.351724] [drm]   VGA
> [   62.351756] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438
> 0x643c 0x643c
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list