🇰🇷 한글 설명
Linux 커널의 Intel IOMMU 드라이버에서 SVA(Shared Virtual Addressing) 해제 경로 시 발생하는 경고 문제입니다. PRI(Page Request Interface)를 지원하지 않는 장치에 대해 IOPF(IOMMU Page Request Fabric) 비활성화를 시도할 때 불일치가 발생하여 커널 경고가 발생합니다.
💡 쉬운 설명
컴퓨터 부품이 특정 기능을 지원하지 않는데도 시스템이 해당 기능을 끄려고 시도하면서 오류 메시지를 내보내는 문제입니다. 이는 시스템 성능에 직접적인 위협을 주지는 않지만, 운영체제 로그에 경고를 남겨 혼란을 줄 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Avoid WARNING in sva unbind path
The Intel IOMMU driver allows SVA on devices even if they do not support
PCI/PRI. Commit 39c20c4e83b9 ("iommu/vt-d: Only handle IOPF for SVA when
PRI is supported") modified the SVA bind path to allow this configuration
by skipping IOPF enablement when PRI is missing. However, it failed to
update the unbind path.
This creates an imbalance: the unbind path attempts to disable IOPF for
a device that never had it enabled, triggering a WARNING in
intel_iommu_disable_iopf():
WARNING: drivers/iommu/intel/iommu.c:3475 at intel_iommu_disable_iopf+0x4f/0x90d
Call Trace:
<TASK>
blocking_domain_set_dev_pasid+0x50/0x70
iommu_detach_device_pasid+0x89/0xc0
iommu_sva_unbind_device+0x73/0x150
xe_vm_close_and_put+0x4d2/0x1200 [xe]
Fix this by bypassing IOPF operations for SVA domains on non-PRI hardware
in both the bind and unbind paths.
📍 영향받는 시스템
Intel IOMMU(VT-d)를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
로컬 시스템에서 특정 장치의 SVA 설정을 해제할 때 발생하는 소프트웨어 논리 오류 (직접적인 공격 벡터 없음)
🛡️ 대응 방법
Intel IOMMU 드라이버가 포함된 최신 Linux 커널로 업데이트하여 SVA 해제 경로의 로직을 수정해야 합니다.
🔧 검증 코드
명령어 실행 결과로 'intel_iommu_disable_iopf' 관련 WARNING 메시지가 출력된다면 취약한 상태입니다.
dmesg | grep -i 'intel_iommu_disable_iopf'