CVE-2025-68823

ublk: fix deadlock when reading partition table

State
Published
Severity
Not scored
Published
Jan 13, 2026
Updated
Jun 1, 2026
Reserved
Dec 24, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

ublk: fix deadlock when reading partition table

When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:

1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request() runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds

The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.

[axboe: rewrite comment in ublk]

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 71f28f3136aff5890cd56de78abc673f8393cad9 to before 27bb79b7717b2fbb111a1c13548b2786ee712dcaAffected
  • 71f28f3136aff5890cd56de78abc673f8393cad9 to before 64c0b7e2293757e8320f13434cd809f1c9257a62Affected
  • 71f28f3136aff5890cd56de78abc673f8393cad9 to before 9bcc47343ee0ef346aa7b2b460c8ff56bd882fe7Affected
  • 71f28f3136aff5890cd56de78abc673f8393cad9 to before 0460e09a614291f06c008443f47393c37b7358e7Affected
  • 71f28f3136aff5890cd56de78abc673f8393cad9 to before c258f5c4502c9667bccf5d76fa731ab9c96687c1Affected
LinuxLinux
  • 6.0Affected
  • before 6.0Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.124 through 6.6.*Not affected
  • 6.12.70 through 6.12.*Not affected
  • 6.18.3 through 6.18.*Not affected
  • 6.19 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.