🇰🇷 한글 설명
Linux 커널의 RDMA/hns 구성 요소에서 sunrpc 사용 중 리셋이 발생할 경우 WQ_MEM_RECLAIM 경고가 발생하는 취약점입니다. QP(Queue Pair) 파괴 과정에서 메모리가 해제됨에도 불구하고 워크큐에 적절한 메모리 회수 플래그가 설정되지 않아 커널 워크큐 의존성 문제가 발생합니다.
💡 쉬운 설명
컴퓨터의 네트워크 통신을 관리하는 핵심 기능에서 메모리를 정리하는 방식에 오류가 있어 시스템이 불안정해질 수 있는 문제입니다. 이로 인해 시스템에 경고가 발생하거나 예기치 않은 오류가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/hns: Fix WQ_MEM_RECLAIM warning
When sunrpc is used, if a reset triggered, our wq may lead the
following trace:
workqueue: WQ_MEM_RECLAIM xprtiod:xprt_rdma_connect_worker [rpcrdma]
is flushing !WQ_MEM_RECLAIM hns_roce_irq_workq:flush_work_handle
[hns_roce_hw_v2]
WARNING: CPU: 0 PID: 8250 at kernel/workqueue.c:2644 check_flush_dependency+0xe0/0x144
Call trace:
check_flush_dependency+0xe0/0x144
start_flush_work.constprop.0+0x1d0/0x2f0
__flush_work.isra.0+0x40/0xb0
flush_work+0x14/0x30
hns_roce_v2_destroy_qp+0xac/0x1e0 [hns_roce_hw_v2]
ib_destroy_qp_user+0x9c/0x2b4
rdma_destroy_qp+0x34/0xb0
rpcrdma_ep_destroy+0x28/0xcc [rpcrdma]
rpcrdma_ep_put+0x74/0xb4 [rpcrdma]
rpcrdma_xprt_disconnect+0x1d8/0x260 [rpcrdma]
xprt_rdma_connect_worker+0xc0/0x120 [rpcrdma]
process_one_work+0x1cc/0x4d0
worker_thread+0x154/0x414
kthread+0x104/0x144
ret_from_fork+0x10/0x18
Since QP destruction frees memory, this wq should have the WQ_MEM_RECLAIM.
📍 영향받는 시스템
RDMA/hns 및 sunrpc를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
로컬 또는 네트워크를 통한 RDMA 연결 리셋 유도 (Denial of Service 가능성)
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 보안 업데이트 버전인지 확인