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