🇰🇷 한글 설명
Linux 커널의 hwmon(xgene) 드라이버 xgene_hwmon_probe() 함수에서 ioremap과 memremap으로 할당한 메모리가 해제되지 않아 메모리 누수가 발생하는 문제입니다. 이를 devm_ioremap과 devm_memremap으로 변경하여 장치 관리 자원으로 자동 해제되도록 수정했습니다.
💡 쉬운 설명
컴퓨터 내부 온도 및 전력 등을 감시하는 드라이버가 사용한 메모리를 제대로 반환하지 않던 버그입니다. 이 때문에 장시간 사용 시 사용 가능한 메모리가 조금씩 줄어들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
hwmon: (xgene) Fix ioremap and memremap leak
Smatch reports:
drivers/hwmon/xgene-hwmon.c:757 xgene_hwmon_probe() warn:
'ctx->pcc_comm_addr' from ioremap() not released on line: 757.
This is because in drivers/hwmon/xgene-hwmon.c:701 xgene_hwmon_probe(),
ioremap and memremap is not released, which may cause a leak.
To fix this, ioremap and memremap is modified to devm_ioremap and
devm_memremap.
[groeck: Fixed formatting and subject]
📍 영향받는 시스템
X-Gene 기반 ARM64 서버 등 xgene-hwmon 드라이버를 사용하는 수정 전 Linux 커널 버전
⚔️ 공격 벡터
원격 공격보다는 드라이버 프로브 실패 등 오류 경로에서 발생하는 메모리 누수이며, 로컬 사용자가 반복적인 자원 소모를 유발할 수 있는 수준입니다.
🛡️ 대응 방법
패치가 적용된 최신 Linux 커널 버전으로 업데이트하거나 배포판의 보안 업데이트를 적용하십시오.
🔧 검증 코드
커널 버전을 확인하고 xgene_hwmon 모듈이 로드되어 있는지 확인하며, 배포판 권고에 명시된 수정 커널 버전 이상이면 패치가 적용된 것입니다.
uname -r && grep -i xgene /proc/modules 2>/dev/null; lsmod | grep -i xgene_hwmon