🇰🇷 한글 설명
Linux 커널 DRM/Xe 드라이버의 GuC CT 안전 모드 처리에서 결함이 수정되었습니다. 드라이버 probe가 중도에 실패할 때 지연 작업(delayed work)이 남아 있는 상태로 워크큐를 파괴하여 커널 경고(WARN)가 발생할 수 있었으며, 이제 unwind 시 CT 안전 모드를 명시적으로 종료하도록 변경되었습니다.
💡 쉬운 설명
그래픽 드라이버를 불러오는 과정이 중간에 실패하면 커널이 경고 메시지를 띄우는 문제가 있었습니다. 이번 수정으로 실패 시 정리 과정이 올바르게 이루어져 이 경고가 발생하지 않습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/xe/guc: Explicitly exit CT safe mode on unwind
During driver probe we might be briefly using CT safe mode, which
is based on a delayed work, but usually we are able to stop this
once we have IRQ fully operational. However, if we abort the probe
quite early then during unwind we might try to destroy the workqueue
while there is still a pending delayed work that attempts to restart
itself which triggers a WARN.
This was recently observed during unsuccessful VF initialization:
[ ] xe 0000:00:02.1: probe with driver xe failed with error -62
[ ] ------------[ cut here ]------------
[ ] workqueue: cannot queue safe_mode_worker_func [xe] on wq xe-g2h-wq
[ ] WARNING: CPU: 9 PID: 0 at kernel/workqueue.c:2257 __queue_work+0x287/0x710
[ ] RIP: 0010:__queue_work+0x287/0x710
[ ] Call Trace:
[ ] delayed_work_timer_fn+0x19/0x30
[ ] call_timer_fn+0xa1/0x2a0
Exit the CT safe mode on unwind to avoid that warning.
(cherry picked from commit 2ddbb73ec20b98e70a5200cb85deade22ccea2ec)
📍 영향받는 시스템
Intel Xe 그래픽 드라이버를 사용하는 Linux 커널 (수정 커밋 이전 버전, 특히 VF 초기화 실패 경로)
⚔️ 공격 벡터
로컬 공격자가 직접 악용하기 어려운 커널 경고 및 안정성 결함으로, 드라이버 초기화 실패 상황에서 발생합니다.
🛡️ 대응 방법
수정이 포함된 최신 Linux 커널 버전으로 업데이트하거나 배포판의 보안 업데이트를 적용하십시오.
🔧 검증 코드
현재 커널 버전을 확인한 뒤, 커널 로그에 'workqueue cannot queue safe_mode_worker_func' 관련 경고가 있는지 확인합니다. 해당 경고가 없고 커널이 수정 포함 버전이면 영향이 없는 것입니다.
uname -r && (dmesg 2>/dev/null | grep -i 'xe' | grep -i 'workqueue' | head -5 || true)