CVE-2026-89567 in Linux
요약
\~에 의해 VulDB • 2026. 09. 12.
리눅스 커널에서 다음 취약점이 해결되었습니다:
jbd2: 검사된 체크포인트 버퍼에 따라 shrinker 스캔을 제한함
현재 jbd2 shrinker는 nr_to_scan(스캔 대상 개수)에 대해 성공적으로 해제한 체크포인트 버퍼만 계상합니다. 따라서 바쁜 상태의 버퍼(busy buffers)는 스캔 예산(budget)을 소모하지 않습니다.
체크포인트 트랜잭션이 대부분 바쁜 버퍼로 구성되어 있는 경우, shrinker가 journal->j_list_lock을 획득한 채 전체 체크포인트 목록을 스캔할 수 있습니다. 큰 크기의 체크포인트 목록은 과도한 잠금 보유 시간(journal lock hold time)을 유발하고 다른 CPU들이 j_list_lock에서 대기(spinning)하게 만들어 소프트 록업(soft lockups) 또는 RCU 스톨(RCU stalls)을 초래합니다.
nr_to_scan을 journal_shrink_one_cp_list()로 전달하고, 검사된 모든 버퍼(바쁜 상태의 버퍼 포함)에 대해 이를 감소시킵니다. 체크포인트 정리 경로(checkpoint cleanup paths)에서는 NULL을 전달하여 기존 전체 목록 스캔 동작이 유지되도록 합니다.
이는 journal_shrink_one_cp_list()가 항상 완전한 체크포인트 목록을 스캔하도록 변경되기 전에 존재했던 스캔 예산(semantics of scan-budget) 관행을 복원합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.