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 kselftests-kmp-defaultUpgrade dtb-rockchipUpgrade kernel-devel-rtUpgrade cluster-md-kmp-rtUpgrade kernel-macrosUpgrade dtb-renesasUpgrade kernel-rt-livepatchUpgrade kernel-rtUpgrade dtb-apmUpgrade kselftests-kmp-rtUpgrade dtb-xilinxUpgrade dtb-nvidiaUpgrade kernel-default-baseUpgrade kernel-default-base-rebuildUpgrade kernel-debugUpgrade kernel-debug-livepatch-develUpgrade dtb-mediatekUpgrade kernel-rt-livepatch-develUpgrade kernel-kvmsmallUpgrade kernel-default-optionalUpgrade reiserfs-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade kernel-default-livepatch-develUpgrade dlm-kmp-azureUpgrade kernel-defaultUpgrade reiserfs-kmp-rtUpgrade kernel-azure-livepatch-develUpgrade kernel-rt-develUpgrade kernel-64kb-develUpgrade kernel-obs-qaUpgrade kernel-develUpgrade kernel-symsUpgrade reiserfs-kmp-azureUpgrade kernel-azure-vdsoUpgrade dtb-socionextUpgrade kernel-docsUpgrade ocfs2-kmp-rtUpgrade dtb-armUpgrade kernel-default-extraUpgrade dlm-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-syms-rtUpgrade dtb-amlogicUpgrade kernel-rt_debug-vdsoUpgrade dtb-qcomUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-azureUpgrade kernel-source-azureUpgrade kernel-devel-azureUpgrade gfs2-kmp-64kbUpgrade kernel-sourceUpgrade dtb-appleUpgrade kernel-default-vdsoUpgrade gfs2-kmp-defaultUpgrade dtb-amazonUpgrade dtb-caviumUpgrade kernel-azure-optionalUpgrade kernel-azure-develUpgrade ocfs2-kmp-defaultUpgrade kernel-obs-buildUpgrade dtb-exynosUpgrade cluster-md-kmp-azureUpgrade gfs2-kmp-rtUpgrade dtb-marvellUpgrade dtb-sprdUpgrade dtb-alteraUpgrade kernel-default-livepatchUpgrade kselftests-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kernel-zfcpdumpUpgrade kernel-64kb-optionalUpgrade dtb-hisiliconUpgrade ocfs2-kmp-azureUpgrade kernel-64kb-livepatch-develUpgrade dtb-lgUpgrade kernel-rt-extraUpgrade kernel-source-vanillaUpgrade ocfs2-kmp-64kbUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-kvmsmall-develUpgrade kernel-debug-vdsoUpgrade dtb-allwinnerUpgrade kernel-rt_debug-develUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azureUpgrade kernel-default-develUpgrade kernel-64kbUpgrade dtb-broadcomUpgrade kernel-rt-optionalUpgrade kernel-azure-extraUpgrade dtb-freescaleUpgrade kernel-source-rtUpgrade kernel-syms-azureUpgrade kernel-docs-htmlUpgrade kernel-rt_debugUpgrade dtb-amdUpgrade kernel-64kb-extraUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-debug-develUpgrade dlm-kmp-64kbUpgrade gfs2-kmp-azure | Aug 9, 2024 | Apr 28, 2024 |
| Ubuntu | — | Upgrade linux-azure-fde-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-nvidiaUpgrade linux-aws-5.15Upgrade linux-intel-iotgUpgrade linux-azureUpgrade linuxUpgrade linux-riscv-5.15Upgrade linux-realtimeUpgrade linux-raspiUpgrade linux-gcp-5.15Upgrade linux-lowlatencyUpgrade linux-azure-fdeUpgrade linux-oracle-5.15Upgrade linux-gkeUpgrade linux-hwe-5.15Upgrade linux-gcpUpgrade linux-oracleUpgrade linux-gkeopUpgrade linux-intel-iotg-5.15Upgrade linux-awsUpgrade linux-ibmUpgrade linux-gkeop-5.15Upgrade linux-azure-5.15Upgrade linux-kvm | 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