NVD Recent CVEs
CVE-2026-64281:Linux内核已修复以下漏洞:svcrdma:传输关闭时唤醒发送队列等待者
Linux内核已修复以下漏洞:svcrdma:传输关闭时唤醒发送队列等待者。在传输拆除过程中,停留在svc_rdma_sq_wait()中sc_sq_ticket_wait或sc_send_wait上的线程可能会无限期地处于不可中断睡眠(TASK_UNINTERRUPTIBLE)状态,持有svc_xprt引用并阻塞svc_rdma_free()。关闭路径在调用xpo_detach之前设置XPT_CLOSE,且两个wait_event的谓词都包含XPT_CLOSE条件,但谓词仅在唤醒时重新评估。sc_sq_ticket_wait没有完成驱动的唤醒路径,它仅通过svc_rdma_sq_wait()内部的链式票证传递来推进。如果在关闭时没有显式唤醒,停留的线程永远不会观察到XPT_CLOSE,会永久持有其svc_xprt_get引用,而svc_rdma_free()会阻塞等待xpt_ref降至零。该传输有两个关闭入口点:本地拆除在工作线程上通过svc_handle_xprt()→svc_delete_xprt()→xpo_detach()运行svc_rdma_detach();远程断开连接则到达svc_rdma_cma_handler(),该函数调用svc_xprt_deferred_close():它设置XPT_CLOSE并将传输入队,但不访问任何RDMA等待队列,因此已经停留在svc_rdma_sq_wait()中的工作线程永远不会重新评估其谓词。如果所有工作线程都停留在该传输上,就没有线程可用来运行本地拆除,且那里的唤醒位置也无法访问。引入了svc_rdma