SUSE Support

Here When You Need Us

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 15 SP2 LTSS
SUSE Linux Enterprise Server 12 SP5

Situation

During boot and in the 'dmesg' output the following messages are observed:
 
 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

The kernel updates (SLES12 SP5 and SLES15 SP2 LTSS) released August/2024 include the patch fixing the spurious WARNING caused by a qxl driver patch.

 

Cause

It is caused by a regression in a backported patch.
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

The following Call Trace was seen on a SLES15 SP2 LTSS:
 
[...]
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

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

tick icon

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

tick icon

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

tick icon

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.