{"id":"CVE-2026-90326","summary":"blk-cgroup: fix race between policy activation and blkg destruction","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nblk-cgroup: fix race between policy activation and blkg destruction\n\nWhen switching an IO scheduler on a block device, blkcg_activate_policy()\nallocates blkg_policy_data (pd) for all blkgs attached to the queue.\nHowever, blkcg_activate_policy() may race with concurrent blkcg deletion,\nleading to use-after-free and memory leak issues.\n\nThe use-after-free occurs in the following race:\n\nT1 (blkcg_activate_policy):\n  - Successfully allocates pd for blkg1 (loop0-\u003equeue, blkcgA)\n  - Fails to allocate pd for blkg2 (loop0-\u003equeue, blkcgB)\n  - Enters the enomem rollback path to release blkg1 resources\n\nT2 (blkcg deletion):\n  - blkcgA is deleted concurrently\n  - blkg1 is freed via blkg_free_workfn()\n  - blkg1-\u003epd is freed\n\nT1 (continued):\n  - Rollback path accesses blkg1-\u003epd-\u003eonline after pd is freed\n  - Triggers use-after-free\n\nIn addition, blkg_free_workfn() frees pd before removing the blkg from\nq-\u003eblkg_list. This allows blkcg_activate_policy() to allocate a new pd\nfor a blkg that is being destroyed, leaving the newly allocated pd\nunreachable when the blkg is finally freed.\n\nFix these races by extending blkcg_mutex coverage to serialize\nblkcg_activate_policy() rollback and blkg destruction, ensuring pd\nlifecycle is synchronized with blkg list visibility.","modified":"2026-09-19T03:47:25.794035468Z","published":"2026-09-17T16:08:41.374Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90326.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/083b58373463a6e5ee60ecb135269348f68ad7df"},{"type":"WEB","url":"https://git.kernel.org/stable/c/2cf9f50a38c1839e549a08e22aa35e8d69e2c8fd"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5313d4d41739b0cb63000747c97bb1217ac45f3e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ac34e655dffa74349d885a43d098115336f53842"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b5dae1cd0d8368b4338430ff93403df67f0b8bcc"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90326.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-90326"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"81c1188905f88b77743d1fdeeedfc8cb7b67787d"},{"fixed":"b5dae1cd0d8368b4338430ff93403df67f0b8bcc"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"bfe46d2efe46c5c952f982e2ca94fe2ec5e58e2a"},{"fixed":"083b58373463a6e5ee60ecb135269348f68ad7df"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"f1c006f1c6850c14040f8337753a63119bba39b9"},{"fixed":"ac34e655dffa74349d885a43d098115336f53842"},{"fixed":"2cf9f50a38c1839e549a08e22aa35e8d69e2c8fd"},{"fixed":"5313d4d41739b0cb63000747c97bb1217ac45f3e"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"6.1.16"},{"fixed":"6.1.17"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"6.2.3"},{"fixed":"6.2.4"}]}],"versions":["v6.1.16","v6.2.3"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90326.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.17"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.2.4"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.3.0"},{"fixed":"6.18.52"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-90326.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}