🇰🇷 한글 설명
Linux 커널의 OCTeontx2-af CGX 드라이버에서 RX/TX 플로우 컨트롤 비트맵이 할당되었으나 드라이버 종료 시 해제되지 않아 메모리 누수가 발생합니다. 드라이버를 재바인딩할 때마다 메모리 누수가 누적되어 시스템 리소스 고갈로 이어질 수 있습니다.
💡 쉬운 설명
Linux 커널의 네트워크 드라이버에서 메모리를 할당한 후 정리하지 않아 메모리가 계속 낭비되는 문제입니다. 드라이버를 자주 재시작하면 시스템 메모리가 부족해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
octeontx2-af: CGX: fix bitmap leaks
The RX/TX flow-control bitmaps (rx_fc_pfvf_bmap and tx_fc_pfvf_bmap)
are allocated by cgx_lmac_init() but never freed in cgx_lmac_exit().
Unbinding and rebinding the driver therefore triggers kmemleak:
unreferenced object (size 16):
backtrace:
rvu_alloc_bitmap
cgx_probe
Free both bitmaps during teardown.
📍 영향받는 시스템
Linux kernel with OCTeontx2-af driver (Marvell/Cavium network adapters)
⚔️ 공격 벡터
Local resource exhaustion through repeated driver unbind/rebind cycles
🛡️ 대응 방법
Upgrade to patched Linux kernel with fixed cgx_lmac_exit() that properly deallocates rx_fc_pfvf_bmap and tx_fc_pfvf_bmap
🔧 검증 코드
커널 로그에서 메모리 누수 경고 개수를 확인하거나 취약한 드라이버 로드 상태 확인 (숫자가 0이거나 드라이버가 미로드면 안전)
dmesg | grep -c 'unreferenced object' 2>/dev/null || lsmod | grep -i octeontx2