🇰🇷 한글 설명
Linux 커널의 DRM(Direct Rendering Manager) 그래픽 드라이버에서 GEM 객체의 메모리 관리 시 reservation lock이 누락되어 발생하는 문제를 수정합니다. drm_gem_shmem_madvise_locked() 함수 호출 시 적절한 lock을 획득하지 않아 경고가 발생하는 것을 해결합니다.
💡 쉬운 설명
그래픽 드라이버가 메모리를 관리할 때 필요한 '예약 잠금'을 빠뜨려서 시스템 경고가 발생했습니다. 올바른 순서로 잠금을 설정하도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/tests: shmem: Hold reservation lock around madvise
Acquire and release the GEM object's reservation lock around calls
to the object's madvide operation. The tests use
drm_gem_shmem_madvise_locked(), which led to errors such as show below.
[ 58.339389] WARNING: CPU: 1 PID: 1352 at drivers/gpu/drm/drm_gem_shmem_helper.c:499 drm_gem_shmem_madvise_locked+0xde/0x140
Only export the new helper drm_gem_shmem_madvise() for Kunit tests.
This is not an interface for regular drivers.
📍 영향받는 시스템
Linux kernel의 DRM shmem helper 테스트 코드 (drivers/gpu/drm/drm_gem_shmem_helper.c)
⚔️ 공격 벡터
로컬 시스템 안정성 문제로, 그래픽 드라이버 테스트 중 발생하는 경쟁 상태(race condition) 가능성
🛡️ 대응 방법
Linux kernel을 최신 버전으로 업데이트하여 이 패치(reservation lock 추가)를 포함한 드라이버를 적용합니다.
🔧 검증 코드
패치된 드라이버에서 reservation lock을 보유한 상태에서 madvise를 호출하는 코드가 있으면 안전한 상태입니다. 결과가 없으면 업데이트 필요합니다.
grep -r 'drm_gem_shmem_madvise()' /usr/src/linux*/drivers/gpu/drm/ 2>/dev/null | head -1