In the Linux kernel, the following vulnerability has been resolved:
drm/gma500: Fix BUG: sleeping function called from invalid context errors
gma_crtc_page_flip() was holding the event_lock spinlock while calling crtc_funcs->mode_set_base() which takes ww_mutex.
The only reason to hold event_lock is to clear gma_crtc->page_flip_event on mode_set_base() errors.
Instead unlock it after setting gma_crtc->page_flip_event and on errors re-take the lock and clear gma_crtc->page_flip_event it it is still set.
This fixes the following WARN/stacktrace:
[ 512.122953] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:870 [ 512.123004] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 1253, name: gnome-shell [ 512.123031] preempt_count: 1, expected: 0 [ 512.123048] RCU nest depth: 0, expected: 0 [ 512.123066] INFO: lockdep is turned off. [ 512.123080] irq event stamp: 0 [ 512.123094] hardirqs last enabled at (0): [<0000000000000000>] 0x0 [ 512.123134] hardirqs last disabled at (0): [<ffffffff8d0ec28c>] copy_process+0x9fc/0x1de0 [ 512.123176] softirqs last enabled at (0): [<ffffffff8d0ec28c>] copy_process+0x9fc/0x1de0 [ 512.123207] softirqs last disabled at (0): [<0000000000000000>] 0x0 [ 512.123233] Preemption disabled at: [ 512.123241] [<0000000000000000>] 0x0 [ 512.123275] CPU: 3 PID: 1253 Comm: gnome-shell Tainted: G W 5.19.0+ #1 [ 512.123304] Hardware name: Packard Bell dot s/SJE01_CT, BIOS V1.10 07/23/2013 [ 512.123323] Call Trace: [ 512.123346] <TASK> [ 512.123370] dump_stack_lvl+0x5b/0x77 [ 512.123412] __might_resched.cold+0xff/0x13a [ 512.123458] ww_mutex_lock+0x1e/0xa0 [ 512.123495] psb_gem_pin+0x2c/0x150 [gma500_gfx] [ 512.123601] gma_pipe_set_base+0x76/0x240 [gma500_gfx] [ 512.123708] gma_crtc_page_flip+0x95/0x130 [gma500_gfx] [ 512.123808] drm_mode_page_flip_ioctl+0x57d/0x5d0 [ 512.123897] ? drm_mode_cursor2_ioctl+0x10/0x10 [ 512.123936] drm_ioctl_kernel+0xa1/0x150 [ 512.123984] drm_ioctl+0x21f/0x420 [ 512.124025] ? drm_mode_cursor2_ioctl+0x10/0x10 [ 512.124070] ? rcu_read_lock_bh_held+0xb/0x60 [ 512.124104] ? lock_release+0x1ef/0x2d0 [ 512.124161] __x64_sys_ioctl+0x8d/0xd0 [ 512.124203] do_syscall_64+0x58/0x80 [ 512.124239] ? do_syscall_64+0x67/0x80 [ 512.124267] ? trace_hardirqs_on_prepare+0x55/0xe0 [ 512.124300] ? do_syscall_64+0x67/0x80 [ 512.124340] ? rcu_read_lock_sched_held+0x10/0x80 [ 512.124377] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 512.124411] RIP: 0033:0x7fcc4a70740f [ 512.124442] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 18 48 8b 44 24 18 64 48 2b 04 25 28 00 00 [ 512.124470] RSP: 002b:00007ffda73f5390 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 512.124503] RAX: ffffffffffffffda RBX: 000055cc9e474500 RCX: 00007fcc4a70740f [ 512.124524] RDX: 00007ffda73f5420 RSI: 00000000c01864b0 RDI: 0000000000000009 [ 512.124544] RBP: 00007ffda73f5420 R08: 000055cc9c0b0cb0 R09: 0000000000000034 [ 512.124564] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000c01864b0 [ 512.124584] R13: 0000000000000009 R14: 000055cc9df484d0 R15: 000055cc9af5d0c0 [ 512.124647] </TASK>
CVSS Details
- CVSS 3.1 Base Score: 5.3
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | Apr 28, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Apr 28, 2024 |
| Suse | — | Upgrade cluster-md-kmp-defaultUpgrade dlm-kmp-rtUpgrade kernel-default-extraUpgrade kernel-syms-rtUpgrade dtb-amlogicUpgrade kernel-rt_debug-vdsoUpgrade kernel-rtUpgrade dtb-renesasUpgrade kernel-default-baseUpgrade kernel-default-base-rebuildUpgrade kernel-macrosUpgrade kernel-develUpgrade kselftests-kmp-defaultUpgrade dtb-mediatekUpgrade dtb-nvidiaUpgrade kernel-azure-vdsoUpgrade kernel-debugUpgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-rtUpgrade dlm-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-debug-livepatch-develUpgrade kernel-rt-livepatchUpgrade cluster-md-kmp-64kbUpgrade kernel-default-optionalUpgrade kernel-docsUpgrade reiserfs-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade dtb-rockchipUpgrade kselftests-kmp-rtUpgrade dtb-qcomUpgrade dtb-xilinxUpgrade kernel-azure-livepatch-develUpgrade dtb-apmUpgrade kernel-default-livepatch-develUpgrade kernel-defaultUpgrade kernel-rt-develUpgrade kernel-64kb-develUpgrade dtb-socionextUpgrade kernel-kvmsmallUpgrade dlm-kmp-azureUpgrade kernel-devel-rtUpgrade reiserfs-kmp-azureUpgrade dtb-armUpgrade kernel-obs-qaUpgrade kernel-symsUpgrade dtb-marvellUpgrade dtb-lgUpgrade kernel-obs-buildUpgrade kselftests-kmp-azureUpgrade dtb-hisiliconUpgrade kernel-rt_debugUpgrade kernel-devel-azureUpgrade kernel-debug-vdsoUpgrade kernel-64kb-livepatch-develUpgrade ocfs2-kmp-azureUpgrade dtb-appleUpgrade dtb-freescaleUpgrade kernel-rt-optionalUpgrade kernel-source-rtUpgrade dtb-broadcomUpgrade kernel-syms-azureUpgrade kernel-debug-develUpgrade kernel-64kbUpgrade gfs2-kmp-azureUpgrade gfs2-kmp-64kbUpgrade kernel-azureUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt_debug-livepatch-develUpgrade ocfs2-kmp-64kbUpgrade dtb-amdUpgrade kernel-rt-vdsoUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-develUpgrade kernel-docs-htmlUpgrade kernel-default-vdsoUpgrade dtb-alteraUpgrade kernel-zfcpdumpUpgrade kernel-64kb-extraUpgrade dtb-allwinnerUpgrade kernel-azure-extraUpgrade ocfs2-kmp-defaultUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-64kbUpgrade dtb-exynosUpgrade gfs2-kmp-rtUpgrade kselftests-kmp-64kbUpgrade kernel-default-livepatchUpgrade kernel-sourceUpgrade kernel-default-develUpgrade gfs2-kmp-defaultUpgrade dtb-caviumUpgrade dtb-amazonUpgrade dlm-kmp-64kbUpgrade kernel-source-azureUpgrade kernel-azure-optionalUpgrade dtb-sprdUpgrade kernel-azure-develUpgrade kernel-source-vanillaUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-64kb-optionalUpgrade kernel-rt_debug-devel | Aug 9, 2024 | Apr 28, 2024 |
| Ubuntu | — | Upgrade linux-gkeUpgrade linux-oracle-5.15Upgrade linux-azureUpgrade linux-intel-iotgUpgrade linuxUpgrade linux-lowlatencyUpgrade linux-azure-fde-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-riscv-5.15Upgrade linux-raspiUpgrade linux-azure-fdeUpgrade linux-aws-5.15Upgrade linux-realtimeUpgrade linux-gcp-5.15Upgrade linux-hwe-5.15Upgrade linux-nvidiaUpgrade linux-kvmUpgrade linux-gkeopUpgrade linux-gkeop-5.15Upgrade linux-ibmUpgrade linux-awsUpgrade linux-azure-5.15Upgrade linux-gcpUpgrade linux-oracleUpgrade linux-intel-iotg-5.15 | Nov 19, 2024 | Apr 28, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Apr 28, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub