CVE-2024-46839 in Linuxthông tin

Tóm tắt

Bởi VulDB • 15/06/2026

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

workqueue: Cải thiện khả năng mở rộng của việc chạm vào bộ xem giờ (watchdog) trong workqueue

Trên hệ thống powerpc với khoảng 2000 CPU, hiện tượng khóa cứng (hard lockups) đã được quan sát thấy trong mã nguồn workqueue khi hàm stop_machine chạy (trong trường hợp này là do nóng lạnh hóa CPU - CPU hotplug). Nguyên nhân là do nhiều CPU đang quay vòng lặp (spinning) trong multi_cpu_stop, gọi touch_nmi_watchdog(), cuối cùng dẫn đến việc gọi wq_watchdog_touch(). Hàm wq_watchdog_touch() ghi vào biến toàn cục wq_watchdog_touched, và biến này có thể nằm trên cùng một dòng bộ nhớ đệm (cacheline) với các dữ liệu workqueue quan trọng khác, làm chậm quá trình xử lý đến mức gây ra hiện tượng khóa cứng.

Trong trường hợp của bản ghi vết cuộc gọi (trace) rút gọn sau đây, worker_pool_idr nằm trong dòng nóng (hot line), khiến hiện tượng khóa cứng luôn xuất hiện tại hàm idr_find:

watchdog: CPU 1125 tự phát hiện LOCKUP cứng @ idr_find Call Trace: get_work_pool __queue_work call_timer_fn run_timer_softirq __do_softirq do_softirq_own_stack irq_exit timer_interrupt decrementer_common_virt * ngắt: 900 (timer) tại multi_cpu_stop multi_cpu_stop cpu_stopper_thread smpboot_thread_fn kthread

Khắc phục vấn đề này bằng cách để wq_watchdog_touch() chỉ ghi vào dòng bộ nhớ đệm nếu thời gian kể từ lần chạm cuối cùng được ghi nhận vượt quá 1/4 ngưỡng của watchdog.

Once again VulDB remains the best source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

11/09/2024

Tiết lộ

27/09/2024

Kiểm duyệt

đã bị thu hồi

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!