---
id: CVE-2024-38598
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  md: fix resync softlockup when bitmap size is less than array size

  Is is reported that for dm-raid10, lvextend + lvchange --syncaction will
  trigger following softlocku…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  md: fix resync softlockup when bitmap size is less than array size

  Is is reported that for dm-raid10, lvextend + lvchange --syncaction will
  trigger following softlocku…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-667
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.19.291, < 4.19.316'
  - 'linux_kernel >= 5.4.251, < 5.4.278'
  - 'linux_kernel >= 5.10.188, < 5.10.219'
  - 'linux_kernel >= 5.15.121, < 5.15.161'
  - 'linux_kernel >= 6.1.39, < 6.1.93'
  - 'linux_kernel >= 6.5, < 6.6.33'
  - 'linux_kernel >= 6.7, < 6.8.12'
  - 'linux_kernel >= 6.9, < 6.9.3'
patched:
  - linux_kernel 6.9.3
published: '2024-06-19'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:18:30.860'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-38598'
references:
  - url: 'https://git.kernel.org/stable/c/3f5b73ef8fd6268cbc968b308d8eafe56fda97f3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/43771597feba89a839c5f893716df88ae5c237ce'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5817f43ae1a118855676f57ef7ab50e37eac7482'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/69296914bfd508c85935bf5f711cad9b0fe78492'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/71e8e4f288e74a896b6d9cd194f3bab12bd7a10f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8bbc71315e0ae4bb7e37f8d43b915e1cb01a481b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c9566b812c8f66160466cc1e29df6d3646add0b1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d4b9c764d48fa41caa24cfb4275f3aa9fb4bd798'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f0e729af2eb6bee9eb58c4df1087f14ebaefe26b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3f5b73ef8fd6268cbc968b308d8eafe56fda97f3'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/43771597feba89a839c5f893716df88ae5c237ce'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/5817f43ae1a118855676f57ef7ab50e37eac7482'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/69296914bfd508c85935bf5f711cad9b0fe78492'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/71e8e4f288e74a896b6d9cd194f3bab12bd7a10f'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/8bbc71315e0ae4bb7e37f8d43b915e1cb01a481b'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/c9566b812c8f66160466cc1e29df6d3646add0b1'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/d4b9c764d48fa41caa24cfb4275f3aa9fb4bd798'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/f0e729af2eb6bee9eb58c4df1087f14ebaefe26b'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-265688.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-398330.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-613116.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00197
epssPercentile: 0.09336
ingestedAt: '2026-10-15T03:30:12.709Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-09-10T17:13:30.845814Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

md: fix resync softlockup when bitmap size is less than array size

Is is reported that for dm-raid10, lvextend + lvchange --syncaction will
trigger following softlockup:

kernel:watchdog: BUG: soft lockup - CPU#3 stuck for 26s! [mdX_resync:6976]
CPU: 7 PID: 3588 Comm: mdX_resync Kdump: loaded Not tainted 6.9.0-rc4-next-20240419 #1
RIP: 0010:_raw_spin_unlock_irq+0x13/0x30
Call Trace:
 <TASK>
 md_bitmap_start_sync+0x6b/0xf0
 raid10_sync_request+0x25c/0x1b40 [raid10]
 md_do_sync+0x64b/0x1020
 md_thread+0xa7/0x170
 kthread+0xcf/0x100
 ret_from_fork+0x30/0x50
 ret_from_fork_asm+0x1a/0x30

And the detailed process is as follows:

md_do_sync
 j = mddev->resync_min
 while (j < max_sectors)
  sectors = raid10_sync_request(mddev, j, &skipped)
   if (!md_bitmap_start_sync(..., &sync_blocks))
    // md_bitmap_start_sync set sync_blocks to 0
    return sync_blocks + sectors_skippe;
  // sectors = 0;
  j += sectors;
  // j never change

Root cause is that commit 301867b1c168 ("md/raid10: check
slab-out-of-bounds in md_bitmap_get_counter") return early from
md_bitmap_get_counter(), without setting returned blocks.

Fix this problem by always set returned blocks from
md_bitmap_get_counter"(), as it used to be.

Noted that this patch just fix the softlockup problem in kernel, the
case that bitmap size doesn't match array size still need to be fixed.

## Affected

- `linux_kernel >= 4.19.291, < 4.19.316`
- `linux_kernel >= 5.4.251, < 5.4.278`
- `linux_kernel >= 5.10.188, < 5.10.219`
- `linux_kernel >= 5.15.121, < 5.15.161`
- `linux_kernel >= 6.1.39, < 6.1.93`
- `linux_kernel >= 6.5, < 6.6.33`
- `linux_kernel >= 6.7, < 6.8.12`
- `linux_kernel >= 6.9, < 6.9.3`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.9.3`
