CVE-2024-56589 json
scsi: hisi_sas: Add cond_resched() for no forced preemption model
published 2024-12-27 22 mo ago modified 2026-06-17 4 mo ago also EUVD-2024-53237
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 14%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
scsi: hisi_sas: Add cond_resched() for no forced preemption model
For no forced preemption model kernel, in the scenario where the expander is connected to 12 high performance SAS SSDs, the following call trace may occur:
[ 214.409199][ C240] watchdog: BUG: soft lockup - CPU#240 stuck for 22s! [irq/149-hisi_sa:3211] [ 214.568533][ C240] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--) [ 214.575224][ C240] pc : fput_many+0x8c/0xdc [ 214.579480][ C240] lr : fput+0x1c/0xf0 [ 214.583302][ C240] sp : ffff80002de2b900 [ 214.587298][ C240] x29: ffff80002de2b900 x28: ffff1082aa412000 [ 214.593291][ C240] x27: ffff3062a0348c08 x26: ffff80003a9f6000 [ 214.599284][ C240] x25: ffff1062bbac5c40 x24: 0000000000001000 [ 214.605277][ C240] x23: 000000000000000a x22: 0000000000000001 [ 214.611270][ C240] x21: 0000000000001000 x20: 0000000000000000 [ 214.617262][ C240] x19: ffff3062a41ae580 x18: 0000000000010000 [ 214.623255][ C240] x17: 0000000000000001 x16: ffffdb3a6efe5fc0 [ 214.629248][ C240] x15: ffffffffffffffff x14: 0000000003ffffff [ 214.635241][ C240] x13: 000000000000ffff x12: 000000000000029c [ 214.641234][ C240] x11: 0000000000000006 x10: ffff80003a9f7fd0 [ 214.647226][ C240] x9 : ffffdb3a6f0482fc x8 : 0000000000000001 [ 214.653219][ C240] x7 : 0000000000000002 x6 : 0000000000000080 [ 214.659212][ C240] x5 : ffff55480ee9b000 x4 : fffffde7f94c6554 [ 214.665205][ C240] x3 : 0000000000000002 x2 : 0000000000000020 [ 214.671198][ C240] x1 : 0000000000000021 x0 : ffff3062a41ae5b8 [ 214.677191][ C240] Call trace: [ 214.680320][ C240] fput_many+0x8c/0xdc [ 214.684230][ C240] fput+0x1c/0xf0 [ 214.687707][ C240] aio_complete_rw+0xd8/0x1fc [ 214.692225][ C240] blkdev_bio_end_io+0x98/0x140 [ 214.696917][ C240] bio_endio+0x160/0x1bc [ 214.701001][ C240] blk_update_request+0x1c8/0x3bc [ 214.705867][ C240] scsi_end_request+0x3c/0x1f0 [ 214.710471][ C240] scsi_io_completion+0x7c/0x1a0 [ 214.715249][ C240] scsi_finish_command+0x104/0x140 [ 214.720200][ C240] scsi_softirq_done+0x90/0x180 [ 214.724892][ C240] blk_mq_complete_request+0x5c/0x70 [ 214.730016][ C240] scsi_mq_done+0x48/0xac [ 214.734194][ C240] sas_scsi_task_done+0xbc/0x16c [libsas] [ 214.739758][ C240] slot_complete_v3_hw+0x260/0x760 [hisi_sas_v3_hw] [ 214.746185][ C240] cq_thread_v3_hw+0xbc/0x190 [hisi_sas_v3_hw] [ 214.752179][ C240] irq_thread_fn+0x34/0xa4 [ 214.756435][ C240] irq_thread+0xc4/0x130 [ 214.760520][ C240] kthread+0x108/0x13c [ 214.764430][ C240] ret_from_fork+0x10/0x18
This is because in the hisi_sas driver, both the hardware interrupt handler and the interrupt thread are executed on the same CPU. In the performance test scenario, function irq_wait_for_interrupt() will always return 0 if lots of interrupts occurs and the CPU will be continuously consumed. As a result, the CPU cannot run the watchdog thread. When the watchdog time exceeds the specified time, call trace occurs.
To fix it, add cond_resched() to execute the watchdog thread.
Patch / fix
- Linux Linux 5.10.231, 5.15.174, 6.1.120, 6.6.66, 6.12.5, 6.13
- linux Debian 12 6.1.123-1
- linux Debian 14, Debian 13 6.12.5-1
debian advisories DEBIAN-CVE-2024-56589
- linux Ubuntu 22.04 LTS 5.15.0-135.146
- linux Ubuntu 24.04 LTS 6.8.0-58.60
- linux-aws Ubuntu 22.04 LTS 5.15.0-1080.87
- linux-aws Ubuntu 24.04 LTS 6.8.0-1027.29
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1079.88
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1028.30
- linux-gke Ubuntu 22.04 LTS 5.15.0-1077.83
- linux-gke Ubuntu 24.04 LTS 6.8.0-1023.27
ubuntu advisories UBUNTU-CVE-2024-56589
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-25.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-25.1
- kernel-livepatch-MICRO-6-0-RT_Update_5 Linux Micro 6.1, Linux Micro 6.0 1-1.1
- kernel-source Linux Micro 6.1, Linux Micro 6.0 6.4.0-25.1
- kernel-default Linux Micro 6.1, Linux Micro 6.0 6.4.0-25.1
- kernel-kvmsmall Linux Micro 6.1, Linux Micro 6.0 6.4.0-25.1
- kernel-default-base Linux Micro 6.1, Linux Micro 6.0 6.4.0-24.1.21.4
- kernel-livepatch-MICRO-6-0_Update_5 Linux Micro 6.1, Linux Micro 6.0 1-1.2
suse advisories SUSE-SU-2025:20166-1SUSE-SU-2025:20249-1SUSE-SU-2025:20165-1SUSE-SU-2025:20248-1SUSE-SU-2025:0557-1SUSE-SU-2025:0499-1
- git.kernel.org/stable/c/3dd2c5cb2c698a02a4ed2ea0acb7c9909374a8bf commit
- git.kernel.org/stable/c/2174bbc235f79fce88ea71fd08cf836568fcad5f commit
- git.kernel.org/stable/c/2991a023896b79e6753813ed88fbc98979713c73 commit
- git.kernel.org/stable/c/50ddf4b0e1a4cb5e9ca0aac3d0a73202b903c87f commit
- git.kernel.org/stable/c/601f8001373fc3fbad498f9be427254908b7fcce commit
- git.kernel.org/stable/c/2233c4a0b948211743659b24c13d6bd059fa75fc commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-56589 updated cvss 4.4
kernel: scsi: hisi_sas: Add cond_resched() for no forced preemption model
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 moreaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +82 moreaffected: no fix planned “Will not fix”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-25-226-07 updated
Siemens Third-Party Components in SINEC OS
-
Siemens RUGGEDCOM RST2428P (6GK6242-6PA00) Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family Siemens SCALANCE XCM-/XRM-/XCH-/XRH-300 familynot affected
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
Exploit prediction
0.24% chance of exploitation in the next 30 days, higher than 14% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
-
git.kernel.org
/stable/c/3dd2c5cb2c698a02a4ed2ea0acb7c9909374a8bf
patch
-
git.kernel.org
/stable/c/2174bbc235f79fce88ea71fd08cf836568fcad5f
patch
-
git.kernel.org
/stable/c/2991a023896b79e6753813ed88fbc98979713c73
patch
-
git.kernel.org
/stable/c/50ddf4b0e1a4cb5e9ca0aac3d0a73202b903c87f
patch
-
git.kernel.org
/stable/c/601f8001373fc3fbad498f9be427254908b7fcce
patch
-
git.kernel.org
/stable/c/2233c4a0b948211743659b24c13d6bd059fa75fc
patch
- lists.debian.org /debian-lts-announce/2025/03/msg00001.html
- lists.debian.org /debian-lts-announce/2025/03/msg00002.html
Sources
- CVE List CVE-2024-56589
- NVD CVE-2024-56589
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.