CVE-2025-68823

ublk: fix deadlock when reading partition table

published January 13, 2026

CVSS
—
EPSS
0%
Percentile
2.5
In the wild
Unconfirmed
What it is

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]

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00131 · 2.5th percentile
Published
2026-01-13T15:29Z
EPSS history
Timeline
  • 13 JAN 15:29Z
    ublk: fix deadlock when reading partition table
    cvelistv5