CVE-2026-90193 in Linuxthông tin

Tóm tắt

Bởi VulDB • 18/09/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

mailbox: qcom-cpucp: sửa lỗi tự chết (self-deadlock) trong trình xử lý ngắt IRQ khi sử dụng PREEMPT_RT

Hàm `qcom_cpucp_mbox_irq_fn()` gọi `mbox_chan_received_data()` trong khi đang giữ khóa `chan->lock`. Trong môi trường PREEMPT_RT, hàm `spin_lock_irqsave()` được chuyển đổi thành một rt_spinlock (dựa trên rtmutex), loại khóa này theo dõi chủ sở hữu và có thể gây ngủ (sleep).

Chuỗi callback do `mbox_chan_received_data()` kích hoạt cuối cùng dẫn đến `mailbox_clear_channel()` -> `mbox_send_message()` -> `add_to_rbuf()`, hàm này cố gắng lấy lại cùng một khóa `chan->lock`. Vì rtmutex phát hiện nỗ lực lấy khóa tái nhập (re-entrant lock) bởi chính chủ sở hữu đó, luồng sẽ bị chặn chờ đợi một khóa mà nó đã đang nắm giữ, dẫn đến tình trạng chết vĩnh viễn.

Tình trạng deadlock này biểu hiện dưới dạng 'irq/N-apss_cpucp_mbox' bị kẹt ở trạng thái D với dấu vết cuộc gọi (call trace) sau: rt_spin_lock -> mbox_send_message -> mailbox_clear_channel -> scmi_rx_callback -> mbox_chan_received_data [<- đang giữ chan->lock tại đây]

Cách khắc phục là lưu `chan->cl` vào biến cục bộ và xóa thanh ghi ngắt phần cứng bên trong khối khóa, sau đó gọi `mbox_chan_received_data()` sau khi đã nhả khóa. Điều này duy trì tính loại trừ lẫn nhau (mutual exclusion) cho việc truy cập chan->cl đồng thời tránh được tình trạng lấy lại khóa tái nhập gây ra lỗi deadlock PREEMPT_RT.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

Linux

Đặt trước

11/09/2026

Tiết lộ

17/09/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Want to stay up to date on a daily basis?

Enable the mail alert feature now!