🇰🇷 한글 설명
Linux 커널의 amdgpu 드라이버에서 PF passthrough 환경 사용 시, 시스템 절전(hibernation) 후 복귀 과정에서 GPU 페이지 폴트가 발생하는 취약점입니다. 절전 모드 중 Mode1 리셋이 발생하지만 복귀 시 파티션 모드가 제대로 복구되지 않아, 잘못된 스트라이드 크스로 인한 메모리 경계 외 접근이 발생합니다.
💡 쉬운 설명
컴퓨터를 절전 모드에서 깨울 때 그래픽 카드 설정이 제대로 돌아오지 않아 오류가 발생하는 문제입니다. 이로 인해 그래픽 작업 중 시스템이 멈추거나 오류가 날 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: fix gpu page fault after hibernation on PF passthrough
On PF passthrough environment, after hibernate and then resume, coralgemm
will cause gpu page fault.
Mode1 reset happens during hibernate, but partition mode is not restored
on resume, register mmCP_HYP_XCP_CTL and mmCP_PSP_XCP_CTL is not right
after resume. When CP access the MQD BO, wrong stride size is used,
this will cause out of bound access on the MQD BO, resulting page fault.
The fix is to ensure gfx_v9_4_3_switch_compute_partition() is called
when resume from a hibernation.
KFD resume is called separately during a reset recovery or resume from
suspend sequence. Hence it's not required to be called as part of
partition switch.
(cherry picked from commit 5d1b32cfe4a676fe552416cb5ae847b215463a1a)
📍 영향받는 시스템
PF passthrough 환경을 사용하는 Linux 커널 기반 시스템 (amdgpu 드라이버 포함)
⚔️ 공격 벡터
직접적인 원격 공격보다는 시스템 절전 및 복귀 과정에서 발생하는 내부 로직 오류입니다.
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하여 gfx_v9_4_3_switch_compute_partition() 함수가 복귀 시 호출되도록 패치해야 합니다.
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.