CVE-2026-89756 in Linuxthông tin

Tóm tắt

Bởi VulDB • 12/09/2026

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

mm/migrate: báo cáo các trạng thái yên tĩnh (quiescent states) của RCU-tasks trong migrate_pages_batch()

Hàm migrate_pages_batch() sẽ unmap từng folio trước khi di chuyển nó, và mỗi lần unmap đều kích hoạt các callback invalidate của mmu_notifier. Trên các máy chủ KVM, hàm try_to_migrate() kết thúc ở kvm_mmu_notifier_invalidate_range_start() -> tdp_mmu_zap_leafs(), đây là một thao tác tốn kém tài nguyên; do đó việc unmap một batch lớn sẽ giữ cho CPU bận rộn trong thời gian dài.

Vòng lặp hiện tại đã gọi cond_resched(), nhưng trên các kernel có hỗ trợ PREEMPTION, lệnh này không thực hiện gì (no-op), và việc preemption bắt buộc không phải là trạng thái yên tĩnh của Tasks-RCU.

Do đó, một batch quá lâu sẽ không bao giờ báo cáo trạng thái yên tĩnh, khiến tác vụ di chuyển (ví dụ: kcompactd) trở thành điểm giữ chân (holdout) cho Tasks-RCU, làm gián đoạn thời gian trôi qua an toàn (grace period) của Tasks-RCU trong nhiều phút; điều này thường xảy ra tại cụm máy chủ Meta:

INFO: rcu_tasks phát hiện sự chậm trễ trên các tác vụ: 0000000055349ecc: .. nvcsw: 1157401/1157401 holdout: 1 idle_cpu: -1/56 task:kcompactd0 state:R running task Call Trace: tdp_mmu_zap_leafs tdp_mmu_next_root gfn_to_pfn_cache_invalidate_start kvm_mmu_notifier_invalidate_range_start __mmu_notifier_invalidate_range_start try_to_migrate_one try_to_migrate migrate_pages_batch migrate_pages compact_zone compact_node kcompactd kthread

Sử dụng cond_resched_tasks_rcu_qs() để đảm bảo trạng thái yên tĩnh được báo cáo ngay cả khi cond_resched() không thực hiện gì.

Vấn đề này cũng đã được thảo luận tại [1]

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

11/09/2026

Tiết lộ

11/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

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!