🇰🇷 한글 설명
리눅스 커널의 drm/dp_mst 구성 요소에서 MST 토폴로지가 해제되는 과정 중 레이스 컨디션(Race Condition)이 발생할 수 있는 취약점입니다. 모니터 연결/해제 시 발생하는 동시성 문제로 인해 불필요한 커널 경고와 컴포지터 충돌이 발생할 수 있었으나, 이를 우아하게 처리하도록 수정되었습니다.
💡 쉬운 설명
모니터를 연결하거나 뽑을 때 컴퓨터 내부의 그래픽 처리 과정에서 충돌이 일어나 화면 시스템이 멈출 수 있는 문제입니다. 시스템이 오류로 오인하지 않도록 처리 방식을 개선하여 안정성을 높였습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/dp_mst: Handle torn-down topology gracefully in drm_dp_mst_topology_queue_probe()
A hotplug or link-loss event can tear down the MST topology
(setting mgr->mst_state = false and mgr->mst_primary = NULL) concurrently
with a caller invoking drm_dp_mst_topology_queue_probe(). Since the check
is already performed under mgr->lock, the condition is not a programming
error but a valid race -- the topology was valid when the caller decided
to call this function, but was torn down before the lock was acquired.
Replace the drm_WARN_ON() with a graceful early return. This eliminates
spurious kernel warnings and the resulting compositor crashes observed
when connecting/disconnecting DP MST monitors, while keeping the correct
behavior of doing nothing when MST is not active. A drm_dbg_mst() trace
is added so the skipped probe remains observable under MST debug logging.
The existing WARN_ON(mgr->mst_primary) in drm_dp_mst_topology_mgr_set_mst()
already catches the case where the topology is initialized twice, so no
diagnostic coverage is lost.
📍 영향받는 시스템
Linux Kernel (drm/dp_mst 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 사용자가 DP MST 모니터를 빈번하게 연결하거나 해제하여 레이스 컨디션을 유도함으로써 시스템 불안정 유발
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인