🇰🇷 한글 설명
Linux 커널의 gpu: host1x 드라이버에서 장치 이름을 생성하는 dev_set_name()으로 할당된 메모리가 모듈 언로드 전에 해제되지 않는 메모리 누수가 수정되었습니다. 장치 등록 실패 시 put_device()만 호출하고, 성공적으로 추가된 장치는 device_unregister()로 해제하도록 변경되었습니다.
💡 쉬운 설명
리눅스 커널의 그래픽 관련 드라이버가 사용하던 메모리를 제대로 돌려주지 않아 시간이 지날수록 메모리가 낭비되던 문제입니다. 이번 업데이트로 사용이 끝난 메모리를 정상적으로 반환하도록 고쳐졌습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
gpu: host1x: Fix memory leak of device names
The device names allocated by dev_set_name() need be freed
before module unloading, but they can not be freed because
the kobject's refcount which was set in device_initialize()
has not be decreased to 0.
As comment of device_add() says, if it fails, use only
put_device() drop the refcount, then the name will be
freed in kobejct_cleanup().
device_del() and put_device() can be replaced with
device_unregister(), so call it to unregister the added
successfully devices, and just call put_device() to the
not added device.
Add a release() function to device to avoid null release()
function WARNING in device_release(), it's empty, because
the context devices are freed together in
host1x_memory_context_list_free().
📍 영향받는 시스템
gpu host1x 드라이버를 포함하는 Linux 커널 (수정 이전 버전, NVIDIA Tegra 기반 장치 등)
⚔️ 공격 벡터
원격 또는 로컬 공격자가 직접 악용하기보다는 메모리 누수로 인한 자원 고갈 및 서비스 안정성 저하가 주된 영향입니다.
🛡️ 대응 방법
배포판 제공 최신 Linux 커널 보안 업데이트를 설치하고 시스템을 재부팅하세요.
🔧 검증 코드
출력된 커널 버전이 배포판의 수정 패치가 포함된 버전인지 보안 공지나 패키지 변경 로그와 대조하여 확인하며, host1x 모듈 사용 여부는 lsmod | grep host1x로 추가 확인할 수 있습니다.