blk-iocost: do not WARN if iocg was already offlined
In the Linux kernel, the following vulnerability has been resolved: blk-iocost: do not WARN if iocg was already offlined In iocg_pay_debt(), warn is triggered if 'active_list' is empty, which is intended to confirm iocg is active when it has debt. However, warn can be triggered during a blkcg or disk removal, if iocg_waitq_timer_fn() is run at that time: WARNING: CPU: 0 PID: 2344971 at block/blk-iocost.c:1402 iocg_pay_debt+0x14c/0x190 Call trace: iocg_pay_debt+0x14c/0x190 iocg_kick_waitq+0x438/0x4c0 iocg_waitq_timer_fn+0xd8/0x130 __run_hrtimer+0x144/0x45c __hrtimer_run_queues+0x16c/0x244 hrtimer_interrupt+0x2cc/0x7b0 The warn in this situation is meaningless. Since this iocg is being removed, the state of the 'active_list' is irrelevant, and 'waitq_timer' is canceled after removing 'active_list' in ioc_pd_free(), which ensures iocg is freed after iocg_waitq_timer_fn() returns. Therefore, add the check if iocg was already offlined to avoid warn when removing a blkcg or disk.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.237, 5.15.181, 6.1.135, 6.6.31, 6.8.10
- CVEs
- CVE-2024-36908
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 17:41 UTC · Revision 1
Source evidence
blk-iocost: do not WARN if iocg was already offlined
core-osv · Original sourcePublished 30 May 2024, 15:29 UTC
In the Linux kernel, the following vulnerability has been resolved: blk-iocost: do not WARN if iocg was already offlined In iocg_pay_debt(), warn is triggered if 'active_list' is empty, which is intended to confirm iocg is active when it has debt. However, warn can be triggered during a blkcg or disk removal, if iocg_waitq_timer_fn() is run at that time: WARNING: CPU: 0 PID: 2344971 at block/blk-iocost.c:1402 iocg_pay_debt+0x14c/0x190 Call trace: iocg_pay_debt+0x14c/0x190 iocg_kick_waitq+0x438/0x4c0 iocg_waitq_timer_fn+0xd8/0x130 __run_hrtimer+0x144/0x45c __hrtimer_run_queues+0x16c/0x244 hrtimer_interrupt+0x2cc/0x7b0 The warn in this situation is meaningless. Since this iocg is being removed, the state of the 'active_list' is irrelevant, and 'waitq_timer' is canceled after removing 'active_list' in ioc_pd_free(), which ensures iocg is freed after iocg_waitq_timer_fn() returns. Therefore, add the check if iocg was already offlined to avoid warn when removing a blkcg or disk.
osv:CVE-2024-36908
Kernel
Fixed versions: 5.10.237, 5.15.181, 6.1.135, 6.6.31, 6.8.10
Complete source record
{
"id": "f873840716d33ab70e46529e499b050228699971dadc4f3da993f0238760d276",
"url": "https://osv.dev/vulnerability/CVE-2024-36908",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "blk-iocost: do not WARN if iocg was already offlined",
"summary": "In the Linux kernel, the following vulnerability has been resolved: blk-iocost: do not WARN if iocg was already offlined In iocg_pay_debt(), warn is triggered if 'active_list' is empty, which is intended to confirm iocg is active when it has debt. However, warn can be triggered during a blkcg or disk removal, if iocg_waitq_timer_fn() is run at that time: WARNING: CPU: 0 PID: 2344971 at block/blk-iocost.c:1402 iocg_pay_debt+0x14c/0x190 Call trace: iocg_pay_debt+0x14c/0x190 iocg_kick_waitq+0x438/0x4c0 iocg_waitq_timer_fn+0xd8/0x130 __run_hrtimer+0x144/0x45c __hrtimer_run_queues+0x16c/0x244 hrtimer_interrupt+0x2cc/0x7b0 The warn in this situation is meaningless. Since this iocg is being removed, the state of the 'active_list' is irrelevant, and 'waitq_timer' is canceled after removing 'active_list' in ioc_pd_free(), which ensures iocg is freed after iocg_waitq_timer_fn() returns. Therefore, add the check if iocg was already offlined to avoid warn when removing a blkcg or disk.",
"evidence": "osv:CVE-2024-36908",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.237",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.181",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.135",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.31",
"evidence": "/affected/1/ranges"
},
{
"value": "6.8.10",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2024-36908",
"aliases": [
"CVE-2024-36908"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "7caa47151ab2e644dd221f741ec7578d9532c9a3"
},
{
"fixed": "56a9d07f427378eeb75b917bb49c6fbea8204126"
},
{
"fixed": "7d215e013d097ed6fc4b0ad0272c9514214dc408"
},
{
"fixed": "aed0aac18f039dd4af13c143063754efca358cb0"
},
{
"fixed": "1c172ac7afe4442964f4153b2c78fe4e005d9d67"
},
{
"fixed": "14b3275f93d4a0d8ddc02195bc4e9869b7a3700e"
},
{
"fixed": "01bc4fda9ea0a6b52f12326486f07a4910666cf6"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-36908.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.4.0"
},
{
"fixed": "5.10.237"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.181"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.135"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.31"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.8.10"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-36908.json"
}
}
],
"modified": "2026-10-28T02:30:45.018181178Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/01bc4fda9ea0a6b52f12326486f07a4910666cf6",
"https://git.kernel.org/stable/c/14b3275f93d4a0d8ddc02195bc4e9869b7a3700e",
"https://git.kernel.org/stable/c/1c172ac7afe4442964f4153b2c78fe4e005d9d67",
"https://git.kernel.org/stable/c/56a9d07f427378eeb75b917bb49c6fbea8204126",
"https://git.kernel.org/stable/c/7d215e013d097ed6fc4b0ad0272c9514214dc408",
"https://git.kernel.org/stable/c/aed0aac18f039dd4af13c143063754efca358cb0",
"https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html",
"https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/36xxx/CVE-2024-36908.json",
"https://nvd.nist.gov/vuln/detail/CVE-2024-36908",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/36xxx/CVE-2024-36908.json"
}
},
"related_cves": [
{
"value": "CVE-2024-36908",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 512562,
"published_at": "2024-05-30T15:29:07.773+00:00"
}