Improper Locking Affecting cluster-md-kmp-default package, versions <6.4.0-150600.23.50.1


Severity

Recommended
0.0
medium
0
10

Based on SUSE Linux Enterprise Server security rating.

Threat Intelligence

EPSS
0.01% (2nd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-SLES156-CLUSTERMDKMPDEFAULT-10227494
  • published22 May 2025
  • disclosed21 May 2025

Introduced: 21 May 2025

NewCVE-2025-22010  (opens in a new tab)
CWE-667  (opens in a new tab)

How to fix?

Upgrade SLES:15.6 cluster-md-kmp-default to version 6.4.0-150600.23.50.1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream cluster-md-kmp-default package and not the cluster-md-kmp-default package as distributed by SLES. See How to fix? for SLES:15.6 relevant fixed versions and status.

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().

CVSS Base Scores

version 3.1