blk-iocost: avoid out of bounds shift
UBSAN catches undefined behavior in blk-iocost, where sometimes
iocg->delay is shifted right by a number that is too large,
resulting in undefined behavior on some architectures.
[ 186.556576] ------------[ cut here ]------------
UBSAN: shift-out-of-bounds in block/blk-iocost.c:1366:23
shift exponent 64 is too large for 64-bit type 'u64' (aka 'unsigned long long')
CPU: 16 PID: 0 Comm: swapper/16 Tainted: G S E N 6.9.0-0_fbk700_debug_rc2_kbuilder_0_gc85af715cac0 #1
Hardware name: Quanta Twin Lakes MP/Twin Lakes Passive MP, BIOS F09_3A23 12/08/2020
Call Trace:
<IRQ>
dump_stack_lvl+0x8f/0xe0
__ubsan_handle_shift_out_of_bounds+0x22c/0x280
iocg_kick_delay+0x30b/0x310
ioc_timer_fn+0x2fb/0x1f80
__run_timer_base+0x1b6/0x250
...
Avoid that undefined behavior by simply taking the
"delay = 0" branch if the shift is too large.
I am not sure what the symptoms of an undefined value
delay will be, but I suspect it could be more than a
little annoying to debug.
Metrics
Affected Vendors & Products
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-3843-1 | linux-5.10 security update |
Debian DSA |
DSA-5703-1 | linux security update |
Ubuntu USN |
USN-6949-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6949-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6950-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6950-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6950-3 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-6950-4 | Linux kernel (HWE) vulnerabilities |
Ubuntu USN |
USN-6952-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6955-1 | Linux kernel (OEM) vulnerabilities |
Ubuntu USN |
USN-6956-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-6957-1 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-7019-1 | Linux kernel vulnerabilities |
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Sat, 12 Jul 2025 13:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
epss
|
epss
|
Fri, 22 Nov 2024 12:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Tue, 05 Nov 2024 10:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Mon, 04 Nov 2024 21:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
|
| Metrics |
cvssV3_1
|
ssvc
|
Thu, 05 Sep 2024 08:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
ssvc
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-05-20T14:27:33.761Z
Reserved: 2024-05-30T15:25:07.068Z
Link: CVE-2024-36916
Updated: 2024-09-05T08:03:32.685Z
Status : Awaiting Analysis
Published: 2024-05-30T16:15:14.963
Modified: 2024-11-21T09:22:48.607
Link: CVE-2024-36916
OpenCVE Enrichment
Updated: 2025-07-12T15:42:35Z
Debian DLA
Debian DSA
Ubuntu USN