WARNING: CPU: x PID: xxx at ../drivers/gpu/drm/drm_gem.c
This document (000021491) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 12 SP5
Situation
kernel: [ 1.682482] ------------[ cut here ]------------ kernel: [ 1.682493] WARNING: CPU: 1 PID: 295 at ../drivers/gpu/drm/drm_gem.c:891 drm_gem_object_put+0x35/0x40 [drm] kernel: [ 1.682493] Modules linked in: ata_piix(+) ahci libahci floppy crc32c_intel ehci_pci(+) qxl serio_raw drm_kms_helper uhci_hcd(+) ehci_hcd libata syscop yarea sysfillrect sysimgblt fb_sys_fops usbcore ttm drm virtio_pci(+) drm_panel_orientation_quirks sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua scsi_mod msr autofs4 kernel: [ 1.682503] Supported: Yes kernel: [ 1.682504] CPU: 1 PID: 295 Comm: plymouthd Not tainted 4.12.14-122.201-default #1 SLE12-SP5 kernel: [ 1.682505] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-0-ga698c89-rebuilt.suse.com 04/01/2014 kernel: [ 1.682505] task: ffff984163e0d940 task.stack: ffffaa69012bc000 kernel: [ 1.682510] RIP: 0010:drm_gem_object_put+0x35/0x40 [drm] kernel: [ 1.682511] RSP: 0018:ffffaa69012bfce8 EFLAGS: 00010246 kernel: [ 1.682512] RAX: 0000000000000000 RBX: 0000000000000004 RCX: 0000000000000000 kernel: [ 1.682512] RDX: ffff984161e12ec0 RSI: ffff984166f2be00 RDI: ffff984161e12ec0 kernel: [ 1.682513] RBP: ffffaa69012bfdd0 R08: 0000000000000001 R09: 0000000000000044 kernel: [ 1.682513] R10: 0000000000000220 R11: ffff9841656c3931 R12: 0000000000000010 kernel: [ 1.682514] R13: ffffffffc0340270 R14: ffffaa69012bfdd0 R15: ffff984166f2be00 kernel: [ 1.682515] FS: 00007ffff7410800(0000) GS:ffff98417fc80000(0000) knlGS:0000000000000000 kernel: [ 1.682515] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 kernel: [ 1.682516] CR2: 00007ffff6fe3000 CR3: 0000000222534006 CR4: 00000000001606e0 kernel: [ 1.682519] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 kernel: [ 1.682520] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 kernel: [ 1.682520] Call Trace: kernel: [ 1.682524] qxl_mode_dumb_create+0xa5/0xe0 [qxl] kernel: [ 1.682530] drm_ioctl_kernel+0x8d/0xe0 [drm] kernel: [ 1.682535] drm_ioctl+0x2f9/0x3a0 [drm] kernel: [ 1.682542] ? drm_mode_create_dumb+0xc0/0xc0 [drm] kernel: [ 1.682547] do_vfs_ioctl+0x99/0x5f0 kernel: [ 1.682551] ? handle_mm_fault+0xc4/0x1d0 kernel: [ 1.682555] ? __do_page_fault+0x21b/0x4d0 kernel: [ 1.682556] SyS_ioctl+0x78/0x90 kernel: [ 1.682560] do_syscall_64+0x74/0x160 kernel: [ 1.682563] entry_SYSCALL_64_after_hwframe+0x76/0xdb kernel: [ 1.682564] RIP: 0033:0x7ffff7ae4617 kernel: [ 1.682564] RSP: 002b:00007fffffffd5e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 kernel: [ 1.682565] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007ffff7ae4617 kernel: [ 1.682566] RDX: 00007fffffffd640 RSI: 00000000c02064b2 RDI: 0000000000000009 kernel: [ 1.682566] RBP: 00007fffffffd640 R08: 0000000000620680 R09: 00000000006202d0 kernel: [ 1.682566] R10: 00000000006201f0 R11: 0000000000000246 R12: 00000000c02064b2 kernel: [ 1.682567] R13: 0000000000000009 R14: 00007fffffffd6e8 R15: 0000000000620680 kernel: [ 1.682568] Code: 48 8b 47 08 48 8b 40 68 48 a9 f8 ff ff ff 74 1b f0 ff 0f 74 0a e9 5c 9c 43 e4 e9 57 9c 43 e4 0f 1f 80 00 00 00 00 e9 7b ff ff ff <0f> 0b eb e1 0f 1f 80 00 00 00 00 0f 1f 44 00 00 48 8b 47 08 48 kernel: [ 1.682581] ---[ end trace 02c034759773cf19 ]---
Resolution
Cause
It seems to be the wrong use of drm_gem_object_put(), which should have been drm_gem_object_put_unlocked() for the older code.
The call in qxl_gem_object_create_with_handle() was already replaced in the patch, but the one in qxl_mode_dumb_create() was left without correction.
The kernel WARNING is harmless and not indicating any breakage.
Additional Information
[...] kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 kernel: PKRU: 55555554 kernel: Call Trace: kernel: qxl_mode_dumb_create+0xcd/0xf0 [qxl] kernel: drm_client_framebuffer_create+0xb8/0x230 [drm] kernel: drm_fb_helper_generic_probe+0x4b/0x1b0 [drm_kms_helper] kernel: __drm_fb_helper_initial_config_and_unlock+0x2a7/0x510 [drm_kms_helper] kernel: drm_fbdev_client_hotplug+0xe0/0x1a0 [drm_kms_helper] kernel: drm_fbdev_generic_setup+0x9f/0x120 [drm_kms_helper] kernel: qxl_pci_probe+0x14b/0x160 [qxl] kernel: local_pci_probe+0x42/0x90 kernel: ? pci_assign_irq+0x27/0x130 kernel: pci_device_probe+0x10f/0x1c0 kernel: really_probe+0xef/0x440 kernel: driver_probe_device+0x114/0x130 kernel: device_driver_attach+0x53/0x60 kernel: __driver_attach+0x51/0x130 kernel: ? device_driver_attach+0x60/0x60 kernel: bus_for_each_dev+0x76/0xc0 kernel: bus_add_driver+0x148/0x220 kernel: ? 0xffffffffc0b88000 kernel: driver_register+0x5b/0x100 kernel: ? 0xffffffffc0b88000 kernel: do_one_initcall+0x46/0x1f4 kernel: ? kmem_cache_alloc_trace+0x43/0x270 kernel: ? do_init_module+0x22/0x237 kernel: do_init_module+0x5b/0x237 kernel: load_module+0x1d66/0x2300 kernel: ? ima_post_read_file+0xe6/0x120 kernel: ? __do_sys_finit_module+0xed/0x110 kernel: __do_sys_finit_module+0xed/0x110 kernel: do_syscall_64+0x5b/0x1e0 kernel: entry_SYSCALL_64_after_hwframe+0x61/0xc6 kernel: RIP: 0033:0x7fef6d5b8669 kernel: Code: 00 48 81 c4 80 00 00 00 89 f0 c3 66 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d ff d7 0b 00 f7 d8 64 89 01 48 [...]
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:000021491
- Creation Date: 11-Jul-2024
- Modified Date:16-Aug-2024
-
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com