CVE-2025-22010

RDMA/hns: Fix soft lockup during bt pages loop

MEDIUM
5.5
CVSS Score
Published: April 8, 2025 at 08:18 AM UTC
Updated: June 17, 2026 at 08:44 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: RDMA/hns: Fix soft lockup during bt pages loop Driver runs a for-loop when allocating bt pages and mapping them with buffer pages. When a large buffer (e.g. MR over 100GB) is being allocated, it may require a considerable loop count. This will lead to soft lockup: watchdog: BUG: soft lockup - CPU#27 stuck for 22s! ... Call trace: hem_list_alloc_mid_bt+0x124/0x394 [hns_roce_hw_v2] hns_roce_hem_list_request+0xf8/0x160 [hns_roce_hw_v2] hns_roce_mtr_create+0x2e4/0x360 [hns_roce_hw_v2] alloc_mr_pbl+0xd4/0x17c [hns_roce_hw_v2] hns_roce_reg_user_mr+0xf8/0x190 [hns_roce_hw_v2] ib_uverbs_reg_mr+0x118/0x290 watchdog: BUG: soft lockup - CPU#35 stuck for 23s! ... Call trace: hns_roce_hem_list_find_mtt+0x7c/0xb0 [hns_roce_hw_v2] mtr_map_bufs+0xc4/0x204 [hns_roce_hw_v2] hns_roce_mtr_create+0x31c/0x3c4 [hns_roce_hw_v2] alloc_mr_pbl+0xb0/0x160 [hns_roce_hw_v2] hns_roce_reg_user_mr+0x108/0x1c0 [hns_roce_hw_v2] ib_uverbs_reg_mr+0x120/0x2bc Add a cond_resched() to fix soft lockup during these loops. In order not to affect the allocation performance of normal-size buffer, set the loop count of a 100GB MR as the threshold to call cond_resched().

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.3 ≤ v < 5.10.2365.3 ≤ v < 5.15.1805.3 ≤ v < 6.1.1325.3 ≤ v < 6.12.215.3 ≤ v < 6.13.95.3 ≤ v < 6.145.3 ≤ v < 6.6.856.13 ≤ v < 6.13.96.2 ≤ v < 6.6.856.7 ≤ v < 6.12.2138389eaa4db192648916464b60f6086d6bbaa6de6.14 rc16.14 rc26.14 rc36.14 rc46.14 rc56.14 rc66.14 rc7
Vendor states this is fixed in 13a52f6c9ff99f7d88f81da535cb4e85eade662b (fixed)
Vendor states this is fixed in 25655580136de59ec89f09089dd28008ea440fc9 (fixed)
Vendor states this is fixed in 4104b0023ff66b5df900d23dbf38310893deca79 (fixed)
Vendor states this is fixed in 461eb4ddede266df8f181f578732bb01742c3fd6 (fixed)
Vendor states this is fixed in 975355faba56c0751292ed15a90c3e2c7dc0aad6 (fixed)
Vendor states this is fixed in 9ab20fec7a1ce3057ad86afd27bfd08420b7cd11 (fixed)
Vendor states this is fixed in efe544462fc0b499725364f90bd0f8bbf16f861a (fixed)
Vendor states this is fixed in 5.10.236 (unaffected)
Vendor states this is fixed in 5.15.180 (unaffected)
Vendor states this is fixed in 5.3 (unaffected)
Vendor states this is fixed in 6.1.132 (unaffected)
Vendor states this is fixed in 6.12.21 (unaffected)
Vendor states this is fixed in 6.13.9 (unaffected)
Vendor states this is fixed in 6.14 (unaffected)
Vendor states this is fixed in 6.6.85 (unaffected)

References (9)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-667

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card