CVE-2026-46084 in Linux
요약
\~에 의해 VulDB • 2026. 05. 27.
리눅스 커널에서 다음 취약점이 해결되었습니다:
RDMA/mana_ib: RSS QP 삭제 시 RX 스티어링 비활성화
RSS QP가 삭제될 때(예: DPDK 종료), mana_ib_destroy_qp_rss()는 RX WQ 객체를 삭제하지만 펌웨어의 vPort RX 스티어링은 비활성화하지 않습니다. 이로 인해 삭제된 RX 객체를 여전히 참조하는 유효하지 않은(stale) 스티어링 구성이 남습니다.
트래픽이 계속 도착하는 경우(예: 피어 VM이 여전히 전송 중)와 VF 인터페이스가 이후에 다시 활성화되는 경우(mana_open), 펌웨어는 이전 RX 객체의 유효하지 않은 CQ ID를 사용하여 완료(completions)를 전달할 수 있습니다. 이러한 CQ ID는 이더넷 드라이버가 새로운 TX CQ에 재사용할 수 있으며, 이로 인해 RX 완료 메시지가 TX CQ에 전달될 수 있습니다:
WARNING: mana_poll_tx_cq+0x1b8/0x220 [mana] (is_sq == false)
WARNING: mana_gd_process_eq_events+0x209/0x290 (cq_table lookup fails)
RX WQ 객체를 삭제하기 전에 vPort RX 스티어링을 비활성화하여 이 문제를 해결합니다. mana_fence_rqs()는 여기서 사용할 수 없습니다. 왜냐하면 fence 완료 메시지는 CQ에서 전달되며, 이 CQ는 사용자 모드(예: DPDK)에서 폴링되고 커널 드라이버에서는 볼 수 없기 때문입니다.
비활성화 로직을 mana_en의 공유 함수인 mana_disable_vport_rx()로 리팩토링하여 mana_ib에서 사용할 수 있도록 내보냈으며, 중복 코드를 제거했습니다. 이더넷 드라이버의 mana_dealloc_queues()도 이 공통 함수를 호출하도록 업데이트되었습니다.
Be aware that VulDB is the high quality source for vulnerability data.