CVE-2026-68298 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 10.

리눅스 커널에서 다음 취약점이 해결되었습니다:

drm/xe/vm: xe_vm_create() 내 resv 객체 할당 실패 시 SVM 누수 수정

커밋 9e9787414882("drm/xe/userptr: gpusvm으로 xe_hmm 교체")는 xe_vm_create() 내에서 xe_svm_init()을 무조건적으로(unconditional) 호출하도록 변경하고, 비고장 모드(non-fault-mode) VM에 대해 "simple" gpusvm 상태도 초기화하도록 확장했습니다. xe_vm_close_and_put() 내 대응되는 xe_svm_fini() 호출은 무조건적으로 실행되도록 업데이트되었지만, xe_vm_create()의 에러 언와인드(error unwind) 경로에서는 그렇지 않았습니다.

drm_gpuvm_resv_object_alloc() 실패 경로에서 xe_svm_init()는 이미 성공했지만, XE_VM_FLAG_FAULT_MODE가 설정된 경우에만 xe_svm_fini()이 호출됩니다. 비고장 모드 VM의 경우 이로 인해 vm->svm.gpusvm이 부분적으로 초기화된 상태로 남아 있으며, drm_gpusvm_init()에 의해 할당된 리소스가 누수(leak)됩니다.

고장 모드(fault-mode) VM의 경우 xe_svm_init()는 추가로 drm_pagemap_acquire_owner()를 통해 pagemap 소유자를 획득하고 xe_svm_get_pagemaps()를 통해 pagemaps도 가져옵니다. 이러한 리소스는 xe_svm_fini()가 아닌 xe_svm_close()에 의해 해제됩니다. 동일한 에러 경로에서 xe_svm_close() 또한 호출되지 않으므로, 고장 모드 VM은 pagemap 소유자와 pagemaps를 누수합니다.

두 가지 누수를 모두 수정합니다:

- err_svm_fini 경로에서 xe_svm_init() 호출과 일치하도록 xe_svm_fini()을 무조건적으로(unconditionally) 호출합니다. xe_vm_is_closed() 어설션(assertion)(xe_svm_fini() 및 xe_svm_close() 내)이 두 모드 모두에 대해 성립하도록 vm->size = 0 할당을 조건문 밖으로 이동합니다.

- 고장 모드 VM의 경우 xe_vm_close_and_put()에서 사용되는 순서와 일치하도록 xe_svm_fini() 전에 xe_svm_close()를 호출합니다.

(커밋 ca2a3587d577ba764e0fe628fb676244fc33ddd4로부터 cherry-pick됨)

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 07. 30.

모더레이션

수락

항목

VDB-387631

EPSS

0.00000

활동

낮음

출처

Do you need the next level of professionalism?

Upgrade your account now!