{"id":25602,"date":"2026-09-18T04:31:37","date_gmt":"2026-09-17T20:31:37","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90193"},"modified":"2026-09-18T04:31:37","modified_gmt":"2026-09-17T20:31:37","slug":"cve-2026-90193","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90193","title":{"rendered":"CVE-2026-90193 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nmailbox: qcom-cpucp:"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>mailbox: qcom-cpucp: fix PREEMPT_RT self-deadlock in IRQ handler<\/p>\n<p>qcom_cpucp_mbox_irq_fn() calls mbox_chan_received_data() while holding<br \/>\nchan-&gt;lock. Under PREEMPT_RT, spin_lock_irqsave() is converted to an<br \/>\nrt_spinlock (rtmutex-based), which tracks ownership and can sleep.<\/p>\n<p>The callback chain triggered by mbox_chan_received_data() eventually<br \/>\nreaches mailbox_clear_channel() -&gt; mbox_send_message() -&gt; add_to_rbuf(),<br \/>\nwhich attempts to re-acquire the same chan-&gt;lock. Since rtmutex detects<br \/>\nthe re-entrant lock attempt by the same owner, the thread blocks waiting<br \/>\nfor a lock it already holds, causing a permanent deadlock.<\/p>\n<p>This deadlock manifests as &#8216;irq\/N-apss_cpucp_mbox&#8217; stuck in D state<br \/>\nwith the following call trace:<br \/>\n  rt_spin_lock -&gt; mbox_send_message -&gt; mailbox_clear_channel -&gt;<br \/>\n  scmi_rx_callback -&gt; mbox_chan_received_data [lock here]<\/p>\n<p>Fix by saving chan-&gt;cl locally and clearing the HW interrupt register<br \/>\ninside the lock, then invoking mbox_chan_received_data() after releasing<br \/>\nthe lock. This preserves the mutual exclusion for chan-&gt;cl access while<br \/>\navoiding the lock re-entrancy that causes the PREEMPT_RT deadlock.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>mailbox: qcom-cpucp: fix PREEMPT_RT self-deadlock in IRQ handler<\/p>\n<p>qcom_cpucp_mbox_irq_fn() calls mbox_chan_received_data() while ho<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25602","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25602","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25602"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}