{"id":"CVE-2024-36916","revision":"bdf83dcf0c404d67bcef2f575040a4d7","records":[{"revision":"bdf83dcf0c404d67bcef2f575040a4d7","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2024-36916","aliases":[],"title":"blk-iocost: avoid out of bounds shift","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nblk-iocost: avoid out of bounds shift\n\nUBSAN catches undefined behavior in blk-iocost, where sometimes\niocg->delay is shifted right by a number that is too large,\nresulting in undefined behavior on some architectures.\n\n[  186.556576] ------------[ cut here ]------------\nUBSAN: shift-out-of-bounds in block/blk-iocost.c:1366:23\nshift exponent 64 is too large for 64-bit type 'u64' (aka 'unsigned long long')\nCPU: 16 PID: 0 Comm: swapper/16 Tainted: G S          E    N 6.9.0-0_fbk700_debug_rc2_kbuilder_0_gc85af715cac0 #1\nHardware name: Quanta Twin Lakes MP/Twin Lakes Passive MP, BIOS F09_3A23 12/08/2020\nCall Trace:\n <IRQ>\n dump_stack_lvl+0x8f/0xe0\n __ubsan_handle_shift_out_of_bounds+0x22c/0x280\n iocg_kick_delay+0x30b/0x310\n ioc_timer_fn+0x2fb/0x1f80\n __run_timer_base+0x1b6/0x250\n...\n\nAvoid that undefined behavior by simply taking the\n\"delay = 0\" branch if the shift is too large.\n\nI am not sure what the symptoms of an undefined value\ndelay will be, but I suspect it could be more than a\nlittle annoying to debug.","state":0,"publishedAt":"2024-05-30T15:29:12.745+00:00","modifiedAt":"2026-10-15T00:42:47.842+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"block/blk-iocost.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5160a5a53c0c4ae3708959d9465ea43ad5d90542\",\n                            \"lessThan\": \"62accf6c1d7b433752cb3591bba8967b7a801ad5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"5160a5a53c0c4ae3708959d9465ea43ad5d90542\",\n                            \"lessThan\": \"844fc023e9f14a4fb1de5ae1eaefafd6d69c5fa1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"5160a5a53c0c4ae3708959d9465ea43ad5d90542\",\n                            \"lessThan\": \"f6add0a6f78dc6360b822ca4b6f9f2f14174c8ca\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"5160a5a53c0c4ae3708959d9465ea43ad5d90542\",\n                            \"lessThan\": \"ce0e99cae00e3131872936713b7f55eefd53ab86\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"5160a5a53c0c4ae3708959d9465ea43ad5d90542\",\n                            \"lessThan\": \"488dc6808cb8369685f18cee81e88e7052ac153b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"5160a5a53c0c4ae3708959d9465ea43ad5d90542\",\n                            \"lessThan\": \"beaa51b36012fad5a4d3c18b88a617aea7a9b96d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"block/blk-iocost.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.10\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.10\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.217\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.159\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.91\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.31\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.8.10\",\n                            \"lessThanOrEqual\": \"6.8.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.9\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/62accf6c1d7b433752cb3591bba8967b7a801ad5","https://git.kernel.org/stable/c/844fc023e9f14a4fb1de5ae1eaefafd6d69c5fa1","https://git.kernel.org/stable/c/f6add0a6f78dc6360b822ca4b6f9f2f14174c8ca","https://git.kernel.org/stable/c/ce0e99cae00e3131872936713b7f55eefd53ab86","https://git.kernel.org/stable/c/488dc6808cb8369685f18cee81e88e7052ac153b","https://git.kernel.org/stable/c/beaa51b36012fad5a4d3c18b88a617aea7a9b96d"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-36916","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-36916","identifiers":["CVE-2024-36916"]},"retained":false,"historicalAffected":[]}],"coverage":[]}