🇰🇷 한글 설명
Linux 커널의 AMD XDNA 가속기 드라이버에서 런타임 서스펜드 중 작업이 실행되고 있을 때 pm_runtime_resume_and_get() 호출로 인한 교착 상태가 발생한다. 이를 해결하기 위해 pm_runtime_resume_and_get()를 작업 실행 루틴에서 작업 제출 루틴으로 이동하여 장치가 미리 재개되도록 변경했다.
💡 쉬운 설명
AMD 그래픽 가속기 드라이버에서 전력 절약 중에 작업 처리가 멈추는 문제가 있었다. 작업을 제출할 때 전원을 미리 켜도록 순서를 바꿔서 문제를 해결했다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
accel/amdxdna: Fix runtime suspend deadlock when there is pending job
The runtime suspend callback drains the running job workqueue before
suspending the device. If a job is still executing and calls
pm_runtime_resume_and_get(), it can deadlock with the runtime suspend
path.
Fix this by moving pm_runtime_resume_and_get() from the job execution
routine to the job submission routine, ensuring the device is resumed
before the job is queued and avoiding the deadlock during runtime
suspend.
📍 영향받는 시스템
Linux kernel with amdxdna accelerator driver (AMD XDNA GPU support)
⚔️ 공격 벡터
Triggering runtime suspend while job queue operations are pending, causing kernel deadlock
🛡️ 대응 방법
Update to patched Linux kernel version containing the pm_runtime_resume_and_get() relocation fix
🔧 검증 코드
커널 버전을 확인하여 AMD XDNA 드라이버 업데이트가 포함된 패치 버전(일반적으로 6.8.1 이후)인지 확인. 정확한 버전은 배포판별 보안 권고를 참조.
uname -r | grep -q '^[0-9]' && echo 'Kernel version:' && uname -r