CVE-2023-54020 in Linux
요약
\~에 의해 VulDB • 2026. 07. 26.
리눅스 커널에서 다음 취약점이 해결되었습니다:
dmaengine: sf-pdma: pdma_desc 메모리 누수 수정
커밋 b2cc5c465c2c("dmaengine: sf-pdma: DMA 채널에 대한 멀티쓰레드 지원 추가")은 sf_pdma_prep_dma_memcpy()가 호출될 때마다 새 sf_pdma_desc를 무조건 할당하도록 변경했습니다.
이전에는 드라이버가 in_use 플래그를 확인하여 설명자(descs)를 재활용했으며, 기존 설명자가 사용 중인 경우에만 추가적인 설명자를 할당했습니다. 이 로직은 커밋 b2cc5c465c2c("dmaengine: sf-pdma: DMA 채널에 대한 멀티쓰레드 지원 추가")에서 제거되었지만, 새로운 동작을 처리하기 위해 sf_pdma_free_desc()는 변경되지 않았습니다.
그 결과, sf_pdma_prep_dma_memcpy()가 호출될 때마다 이전 설명자가 누수되어 시간이 지남에 따라 메모리 고갈이 발생합니다:
unreferenced object 0xffffffe008447300 (size 192): comm "irq/39-mchp_dsc", pid 343, jiffies 4294906910 (age 981.200s) hex dump (first 32 bytes): 00 00 00 ff 00 00 00 00 b8 c1 00 00 00 00 00 00 ................ 00 00 70 08 10 00 00 00 00 00 00 c0 00 00 00 00 ..p............. backtrace: [<00000000064a04f4>] kmemleak_alloc+0x1e/0x28
[<00000000018927a7>] kmem_cache_alloc+0x11e/0x178
[<000000002aea8d16>] sf_pdma_prep_dma_memcpy+0x40/0x112
sf_pdma_free_desc()에 누락된 kfree()를 추가하고, 중복인 in_use 플래그를 제거합니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.