Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2023-53031— powerpc/imc-pmu: Fix use of mutex in IRQs disabled section

AI Predicted 3.3 Difficulty: Theoretical EPSS 0.14% · P4

Affected Version Matrix 12

VendorProductVersion RangeStatus
LinuxLinux8f95faaac56c18b32d0e23ace55417a440abdb7e< d0c6d2a31026102d4738b47a610bed4401b9834faffected
8f95faaac56c18b32d0e23ace55417a440abdb7e< 8cbeb60320ac45a8240b561c8ef466b86c34dedcaffected
8f95faaac56c18b32d0e23ace55417a440abdb7e< a90d339f1f66be4a946769b565668e2bd0686dfaaffected
8f95faaac56c18b32d0e23ace55417a440abdb7e< 424bcb570cb320d1d15238cd4c933522b90f78faaffected
8f95faaac56c18b32d0e23ace55417a440abdb7e< 76d588dddc459fefa1da96e0a081a397c5c8e216affected
4.14affected
< 4.14unaffected
5.4.229≤ 5.4.*unaffected
… +4 more rows
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2023-53031

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
powerpc/imc-pmu: Fix use of mutex in IRQs disabled section
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: powerpc/imc-pmu: Fix use of mutex in IRQs disabled section Current imc-pmu code triggers a WARNING with CONFIG_DEBUG_ATOMIC_SLEEP and CONFIG_PROVE_LOCKING enabled, while running a thread_imc event. Command to trigger the warning: # perf stat -e thread_imc/CPM_CS_FROM_L4_MEM_X_DPTEG/ sleep 5 Performance counter stats for 'sleep 5': 0 thread_imc/CPM_CS_FROM_L4_MEM_X_DPTEG/ 5.002117947 seconds time elapsed 0.000131000 seconds user 0.001063000 seconds sys Below is snippet of the warning in dmesg: BUG: sleeping function called from invalid context at kernel/locking/mutex.c:580 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 2869, name: perf-exec preempt_count: 2, expected: 0 4 locks held by perf-exec/2869: #0: c00000004325c540 (&sig->cred_guard_mutex){+.+.}-{3:3}, at: bprm_execve+0x64/0xa90 #1: c00000004325c5d8 (&sig->exec_update_lock){++++}-{3:3}, at: begin_new_exec+0x460/0xef0 #2: c0000003fa99d4e0 (&cpuctx_lock){-...}-{2:2}, at: perf_event_exec+0x290/0x510 #3: c000000017ab8418 (&ctx->lock){....}-{2:2}, at: perf_event_exec+0x29c/0x510 irq event stamp: 4806 hardirqs last enabled at (4805): [<c000000000f65b94>] _raw_spin_unlock_irqrestore+0x94/0xd0 hardirqs last disabled at (4806): [<c0000000003fae44>] perf_event_exec+0x394/0x510 softirqs last enabled at (0): [<c00000000013c404>] copy_process+0xc34/0x1ff0 softirqs last disabled at (0): [<0000000000000000>] 0x0 CPU: 36 PID: 2869 Comm: perf-exec Not tainted 6.2.0-rc2-00011-g1247637727f2 #61 Hardware name: 8375-42A POWER9 0x4e1202 opal:v7.0-16-g9b85f7d961 PowerNV Call Trace: dump_stack_lvl+0x98/0xe0 (unreliable) __might_resched+0x2f8/0x310 __mutex_lock+0x6c/0x13f0 thread_imc_event_add+0xf4/0x1b0 event_sched_in+0xe0/0x210 merge_sched_in+0x1f0/0x600 visit_groups_merge.isra.92.constprop.166+0x2bc/0x6c0 ctx_flexible_sched_in+0xcc/0x140 ctx_sched_in+0x20c/0x2a0 ctx_resched+0x104/0x1c0 perf_event_exec+0x340/0x510 begin_new_exec+0x730/0xef0 load_elf_binary+0x3f8/0x1e10 ... do not call blocking ops when !TASK_RUNNING; state=2001 set at [<00000000fd63e7cf>] do_nanosleep+0x60/0x1a0 WARNING: CPU: 36 PID: 2869 at kernel/sched/core.c:9912 __might_sleep+0x9c/0xb0 CPU: 36 PID: 2869 Comm: sleep Tainted: G W 6.2.0-rc2-00011-g1247637727f2 #61 Hardware name: 8375-42A POWER9 0x4e1202 opal:v7.0-16-g9b85f7d961 PowerNV NIP: c000000000194a1c LR: c000000000194a18 CTR: c000000000a78670 REGS: c00000004d2134e0 TRAP: 0700 Tainted: G W (6.2.0-rc2-00011-g1247637727f2) MSR: 9000000000021033 <SF,HV,ME,IR,DR,RI,LE> CR: 48002824 XER: 00000000 CFAR: c00000000013fb64 IRQMASK: 1 The above warning triggered because the current imc-pmu code uses mutex lock in interrupt disabled sections. The function mutex_lock() internally calls __might_resched(), which will check if IRQs are disabled and in case IRQs are disabled, it will trigger the warning. Fix the issue by changing the mutex lock to spinlock. [mpe: Fix comments, trim oops in change log, add reported-by tags]
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于imc-pmu在IRQ禁用区错误使用互斥锁。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 8f95faaac56c18b32d0e23ace55417a440abdb7e ~ d0c6d2a31026102d4738b47a610bed4401b9834f -
LinuxLinux 4.14 -

II. Public POCs for CVE-2023-53031

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53031

登录查看更多情报信息。

Patches & Fixes for CVE-2023-53031 (2)

Same Patch Batch · Linux · 2025-03-27 · 124 CVEs total

CVE-2025-218768.8 HIGHiommu/vt-d: Fix suspicious RCU usage
CVE-2025-218908.2 HIGHidpf: fix checksums set in idpf_rx_rsc()
CVE-2025-218897.8 HIGHperf/core: Add RCU read lock protection to perf_iterate_ctx()
CVE-2025-218707.8 HIGHASoC: SOF: ipc4-topology: Harden loops for looking up ALH copiers
CVE-2025-218877.8 HIGHovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up
CVE-2025-218677.8 HIGHbpf, test_run: Fix use-after-free issue in eth_skb_pkt_type()
CVE-2025-218757.8 HIGHmptcp: always handle address removal under msk socket lock
CVE-2025-218847.8 HIGHnet: better track kernel sockets lifetime
CVE-2025-218797.8 HIGHbtrfs: fix use-after-free on inode when scanning root during em shrinking
CVE-2025-218827.8 HIGHnet/mlx5: Fix vport QoS cleanup on error
CVE-2025-218687.5 HIGHnet: allow small head cache usage with large MAX_SKB_FRAGS values
CVE-2025-218857.5 HIGHRDMA/bnxt_re: Fix the page details for the srq created by kernel consumers
CVE-2023-52994acpi: Fix suspend with Xen PV
CVE-2023-52988ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
CVE-2023-52989firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region
CVE-2023-52991net: fix NULL pointer in skb_segment_list
CVE-2023-53000netlink: prevent potential spectre v1 gadgets
CVE-2023-52999net: fix UaF in netns ops registration error path
CVE-2023-52998net: fec: Use page_pool_put_full_page when freeing rx buffers
CVE-2023-52997ipv4: prevent potential spectre v1 gadget in ip_metrics_convert()

Showing top 20 of 124 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2023-53031

No comments yet


Leave a comment