KernelScan.io

HIGH

rdma QueuePair Race

CVE-2026-46112

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI6.3MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: RDMA/hns: Fix unlocked call to hns_roce_qp_remove() Sashiko points out that hns_roce_qp_remove() requires the caller to hold locks. The error flow in hns_roce_create_qp_common() doesn't hold those locks for the error unwind so it risks corrupting memory. Grab the same locks the other two callers use.

02

Engine v0.2.0

Risk summary

A race condition in the HiSilicon HNS RDMA driver allows local users with RDMA permissions to corrupt kernel memory during queue pair creation failures. This can lead to system crashes or potential privilege escalation on systems with HNS RDMA hardware.

Affecteddrivers/infiniband/hw/hns/hns_roce_qp.c (RDMA HNS driver)

Vulnerability analysis

The vulnerability occurs in the error path of hns_roce_create_qp_common() where hns_roce_qp_remove() is called without proper locking. This function modifies shared data structures including queue pair lists and completion queues that require synchronization via hr_dev->qp_list_lock and CQ locks. The race window exists between queue pair allocation and cleanup, allowing concurrent operations to corrupt memory. The fix adds the same locking pattern used by other callers of hns_roce_qp_remove(), ensuring atomic access to shared structures during error cleanup.

03

BranchFixed inPatch commit
5.155.15.2091f0a3aa8b569
6.16.1.175b6296ff2475f
6.126.12.88fcf6a832c0d5
6.186.18.301912f7879850
6.66.6.140fb4ae739811d
7.07.0.7615d9d260c32
mainline7.1-rc30c99acbc8b6c