Description
In the Linux kernel, the following vulnerability has been resolved:
blk-cgroup: fix possible deadlock while configuring policy
Following deadlock can be triggered easily by lockdep:
WARNING: possible circular locking dependency detected
6.17.0-rc3-00124-ga12c2658ced0 #1665 Not tainted
------------------------------------------------------
check/1334 is trying to acquire lock:
ff1100011d9d0678 (&q->sysfs_lock){+.+.}-{4:4}, at: blk_unregister_queue+0x53/0x180
but task is already holding lock:
ff1100011d9d00e0 (&q->q_usage_counter(queue)#3){++++}-{0:0}, at: del_gendisk+0xba/0x110
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #2 (&q->q_usage_counter(queue)#3){++++}-{0:0}:
blk_queue_enter+0x40b/0x470
blkg_conf_prep+0x7b/0x3c0
tg_set_limit+0x10a/0x3e0
cgroup_file_write+0xc6/0x420
kernfs_fop_write_iter+0x189/0x280
vfs_write+0x256/0x490
ksys_write+0x83/0x190
__x64_sys_write+0x21/0x30
x64_sys_call+0x4608/0x4630
do_syscall_64+0xdb/0x6b0
entry_SYSCALL_64_after_hwframe+0x76/0x7e
-> #1 (&q->rq_qos_mutex){+.+.}-{4:4}:
__mutex_lock+0xd8/0xf50
mutex_lock_nested+0x2b/0x40
wbt_init+0x17e/0x280
wbt_enable_default+0xe9/0x140
blk_register_queue+0x1da/0x2e0
__add_disk+0x38c/0x5d0
add_disk_fwnode+0x89/0x250
device_add_disk+0x18/0x30
virtblk_probe+0x13a3/0x1800
virtio_dev_probe+0x389/0x610
really_probe+0x136/0x620
__driver_probe_device+0xb3/0x230
driver_probe_device+0x2f/0xe0
__driver_attach+0x158/0x250
bus_for_each_dev+0xa9/0x130
driver_attach+0x26/0x40
bus_add_driver+0x178/0x3d0
driver_register+0x7d/0x1c0
__register_virtio_driver+0x2c/0x60
virtio_blk_init+0x6f/0xe0
do_one_initcall+0x94/0x540
kernel_init_freeable+0x56a/0x7b0
kernel_init+0x2b/0x270
ret_from_fork+0x268/0x4c0
ret_from_fork_asm+0x1a/0x30
-> #0 (&q->sysfs_lock){+.+.}-{4:4}:
__lock_acquire+0x1835/0x2940
lock_acquire+0xf9/0x450
__mutex_lock+0xd8/0xf50
mutex_lock_nested+0x2b/0x40
blk_unregister_queue+0x53/0x180
__del_gendisk+0x226/0x690
del_gendisk+0xba/0x110
sd_remove+0x49/0xb0 [sd_mod]
device_remove+0x87/0xb0
device_release_driver_internal+0x11e/0x230
device_release_driver+0x1a/0x30
bus_remove_device+0x14d/0x220
device_del+0x1e1/0x5a0
__scsi_remove_device+0x1ff/0x2f0
scsi_remove_device+0x37/0x60
sdev_store_delete+0x77/0x100
dev_attr_store+0x1f/0x40
sysfs_kf_write+0x65/0x90
kernfs_fop_write_iter+0x189/0x280
vfs_write+0x256/0x490
ksys_write+0x83/0x190
__x64_sys_write+0x21/0x30
x64_sys_call+0x4608/0x4630
do_syscall_64+0xdb/0x6b0
entry_SYSCALL_64_after_hwframe+0x76/0x7e
other info that might help us debug this:
Chain exists of:
&q->sysfs_lock --> &q->rq_qos_mutex --> &q->q_usage_counter(queue)#3
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(&q->q_usage_counter(queue)#3);
lock(&q->rq_qos_mutex);
lock(&q->q_usage_counter(queue)#3);
lock(&q->sysfs_lock);
Root cause is that queue_usage_counter is grabbed with rq_qos_mutex
held in blkg_conf_prep(), while queue should be freezed before
rq_qos_mutex from other context.
The blk_queue_enter() from blkg_conf_prep() is used to protect against
policy deactivation, which is already protected with blkcg_mutex, hence
convert blk_queue_enter() to blkcg_mutex to fix this problem. Meanwhile,
consider that blkcg_mutex is held after queue is freezed from policy
deactivation, also convert blkg_alloc() to use GFP_NOIO.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.1.191 – < 6.2, 6.4.4 – < 6.5, 6.5 | 6.2 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.17.8-1 | — |
| Debian 13 | linux | 6.12.63-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1017.21 | — |
| Ubuntu 25.10 | linux | 6.17.0-14.14 | USN-8029-1 |
| Ubuntu 25.10 | linux-aws +2 | 6.17.0-1007.7 | USN-8030-1, USN-8029-2 |
| Ubuntu 25.10 | linux-azure +1 | 6.17.0-1008.8 | USN-8029-3, USN-8029-1 |
| Ubuntu 25.10 | linux-azure-fde | No fix yet | — |
| Ubuntu 25.10 | linux-realtime | 6.17.0-1006.7 | USN-8029-1 |
| Ubuntu 25.10 | linux-riscv | 6.17.0-14.14.1 | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-106.106 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1050.53 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-aws-6.17 +1 | 6.17.0-1007.7~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1051.57 | USN-8125-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1058.65 | — |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1039.42 | — |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1052.55 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-gcp-6.17 | 6.17.0-1008.8~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1048.53 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1035.38 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1049.49 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-106.106.1 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1049.52 | USN-8100-1 |
| Ubuntu 24.04 LTS | linux-nvidia-6.17 | 6.17.0-1008.8 | — |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1049.52.1 | USN-8100-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1020.20 | — |
| Ubuntu 24.04 LTS | linux-oem-6.17 | 6.17.0-1011.11 | USN-8048-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1047.48 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1050.54 | USN-8095-5 |
| Ubuntu 24.04 LTS | linux-riscv +18 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1028.29 | USN-8261-1 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1050.53~22.04.1 | USN-8095-4 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1051.57~22.04.1 | USN-8126-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1058.65~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1052.55~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 +1 | 6.8.0-106.106~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1049.49~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-106.106.1~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1049.52~22.04.1 | USN-8100-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1047.48~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2040.41 | USN-8095-5 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1045.46 | USN-8095-3 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.17 | 6.17.0-1006.7~24.04.1 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1045.46~22.04.1 | USN-8095-3 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1050.53+fips1 | USN-8095-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1052.58+fips1 | USN-8165-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-106.106+fips1 | USN-8095-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1052.55+fips1 | USN-8095-2 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.31.1 | SUSE-SU-2026:0447-1 |
| SLES 15 SP7 | kernel-azure +2 | 6.4.0-150700.20.27.1 | SUSE-SU-2026:0472-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.31.1.150700.17.21.1 | SUSE-SU-2026:0447-1 |
Show 7 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | kernel-64kb +8 | 6.12.0-160000.26.1 | SUSE-SU-2026:20599-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.26.1.160000.2.7 | SUSE-SU-2026:20599-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.26.1 | SUSE-SU-2026:20615-1, SUSE-SU-2026:20599-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.26.1.160000.2.7 | SUSE-SU-2026:20599-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.26.1.160000.2.7 | SUSE-SU-2026:20555-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.26.1 | SUSE-SU-2026:20570-1, SUSE-SU-2026:20555-1 |
| SLE Micro 6.1 | kernel-default-base | 6.4.0-39.1.21.16 | SUSE-SU-2026:20498-1 |
| SLE Micro 6.1 | kernel-rt +1 | 6.4.0-40.1 | SUSE-SU-2026:20876-1 |
| SLE Micro 6.1 | kernel-source +2 | 6.4.0-39.1 | SUSE-SU-2026:20498-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-39.1.21.16 | SUSE-SU-2026:20477-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-40.1 | SUSE-SU-2026:20845-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-39.1 | SUSE-SU-2026:20477-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.31.1 | SUSE-SU-2026:0447-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_9 | 1-150700.1.3.2 | SUSE-SU-2026:0587-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_9 | 1-150700.15.3.1 | SUSE-SU-2026:0447-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt | 6.4.0-150700.7.31.2 | SUSE-SU-2026:0587-1 |
| SUSE Real Time Module 15 SP7 | kernel-syms-rt +1 | 6.4.0-150700.7.31.1 | SUSE-SU-2026:0587-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.26.1.160000.2.7 | openSUSE-SU-2026:20287-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.26.1 | openSUSE-SU-2026:20287-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.12.58-82.121 | 1:1.0-0.amzn2023 | ALAS2023-2026-1495 |
| Amazon Linux 2023 | perf6.12 +14 | 1:6.12.58-82.121.amzn2023 | ALAS2023-2026-1495 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-107.59.3.2.el10uek | ELSA-2026-50006 |
Advisories 30
- WID-SEC-2025-2868 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 11, 2026
- USN-8100-1 linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8165-1 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8095-1 linux, linux-aws, linux-gcp, linux-gcp-6.8, linux-gke, linux-gkeop, linux-hwe-6.8, linux-ibm, linux-ibm-6.8, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-oracle, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8095-2 linux-fips, linux-aws-fips, linux-gcp-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8126-1 linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8095-5 linux-raspi, linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8125-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8095-4 linux-aws-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8029-2 linux-aws, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8048-1 linux-oem-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8029-3 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8030-1 linux-gcp vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8029-1 linux, linux-raspi, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8095-3 linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8261-1 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Sep 7, 2026
- SUSE-SU-2026:20570-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- SUSE-SU-2026:20876-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 31, 2026
- SUSE-SU-2026:20845-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 28, 2026
- ALAS2023-2026-1495 Important: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 27, 2026
- openSUSE-SU-2026:20287-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20615-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20599-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20555-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20498-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20477-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0587-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0472-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0447-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- ELSA-2026-50006 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jan 13, 2026