Description
The current ubuntu-24.04 amd64 hosted runner image ships kernel 6.17.0-1015-azure, which Oopses in ublk_drv on a single UBLK_U_CMD_ADD_DEV.
Minimal standalone repro:
https://github.com/e2b-dev/ublk-adddev-repro
Actions run:
https://github.com/e2b-dev/ublk-adddev-repro/actions
Observed:
- ubuntu-22.04 / 6.8.0-1052-azure: repro passes
- ubuntu-24.04 / 6.17.0-1015-azure: kernel Oops in ublk_init_queues and the command never completes
Oops excerpt:
RIP: 0010:ublk_init_queues+0x4e/0x1e0 [ublk_drv]
Call Trace:
ublk_ctrl_add_dev+0x31a/0x5e0 [ublk_drv]
ublk_ctrl_uring_cmd+0x7f/0x754 [ublk_drv]
io_uring_cmd+0xa3/0x140
io_wq_submit_work+0xcc/0x330
io_wq_worker+0xfd/0x380
note: iou-wrk-* exited with irqs disabled
This breaks CI for projects testing Linux ublk on hosted runners. We temporarily pinned amd64 integration to ubuntu-22.04 to avoid the broken kernel.
Platforms affected
Runner images affected
Image version and build link
Current runner version: '2.334.0'
Runner Image Provisioner
Hosted Compute Agent
Version: 20260520.533
Commit: 189110e25284a9812c124fd27b339e2fb4f2f9db
Build Date: 2026-05-20T17:44:04Z
Worker ID: {8384fdc7-2787-4abd-891e-1bb1ca508b1f}
Azure Region: eastus2
Operating System
Ubuntu
24.04.4
LTS
Runner Image
Image: ubuntu-24.04
Version: 20260525.161.1
Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260525.161/images/ubuntu/Ubuntu2404-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260525.161
GITHUB_TOKEN Permissions
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v6.0.2' (SHA:de0fac2e4500dabe0009e67214ff5f5447ce83dd)
Complete job name: repro (ubuntu-24.04)
Is it regression?
Yes. The same standalone repro passes on ubuntu-22.04 hosted runners with kernel 6.8.0-1052-azure. Known passing run: https://github.com/e2b-dev/ublk-adddev-repro/actions The failing image is ubuntu-24.04 version 20260525.161.1 with kernel 6.17.0-1015-azure.
Expected behavior
A single UBLK_U_CMD_ADD_DEV should either complete successfully or return an error CQE. It should not Oops the kernel or leave the userspace process stuck waiting for a completion.
Actual behavior
On ubuntu-24.04 amd64 runners, the repro triggers a kernel Oops in ublk_drv:
RIP: ublk_init_queues+0x4e/0x1e0 [ublk_drv]
Call Trace:
ublk_ctrl_add_dev
ublk_ctrl_uring_cmd
io_uring_cmd
io_wq_submit_work
io_wq_worker
After the Oops, the ADD_DEV command never completes, so userspace waits indefinitely. The same repro passes on ubuntu-22.04.
Repro steps
Public minimal repro repo:
https://github.com/e2b-dev/ublk-adddev-repro
Workflow:
https://github.com/e2b-dev/ublk-adddev-repro/actions
Manual steps on an ubuntu-24.04 amd64 hosted runner:
- Check out the repro repo.
- Load ublk_drv:
sudo modprobe ublk_drv || {
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends "linux-modules-extra-$(uname -r)"
sudo modprobe ublk_drv
}
- Build:
make
- Run:
sudo ./ublk_add_dev_repro
- Check dmesg for the ublk_init_queues Oops.
Description
The current ubuntu-24.04 amd64 hosted runner image ships kernel 6.17.0-1015-azure, which Oopses in ublk_drv on a single UBLK_U_CMD_ADD_DEV.
Minimal standalone repro:
https://github.com/e2b-dev/ublk-adddev-repro
Actions run:
https://github.com/e2b-dev/ublk-adddev-repro/actions
Observed:
Oops excerpt:
RIP: 0010:ublk_init_queues+0x4e/0x1e0 [ublk_drv]
Call Trace:
ublk_ctrl_add_dev+0x31a/0x5e0 [ublk_drv]
ublk_ctrl_uring_cmd+0x7f/0x754 [ublk_drv]
io_uring_cmd+0xa3/0x140
io_wq_submit_work+0xcc/0x330
io_wq_worker+0xfd/0x380
note: iou-wrk-* exited with irqs disabled
This breaks CI for projects testing Linux ublk on hosted runners. We temporarily pinned amd64 integration to ubuntu-22.04 to avoid the broken kernel.
Platforms affected
Runner images affected
Image version and build link
Current runner version: '2.334.0'
Runner Image Provisioner
Hosted Compute Agent
Version: 20260520.533
Commit: 189110e25284a9812c124fd27b339e2fb4f2f9db
Build Date: 2026-05-20T17:44:04Z
Worker ID: {8384fdc7-2787-4abd-891e-1bb1ca508b1f}
Azure Region: eastus2
Operating System
Ubuntu
24.04.4
LTS
Runner Image
Image: ubuntu-24.04
Version: 20260525.161.1
Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260525.161/images/ubuntu/Ubuntu2404-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260525.161
GITHUB_TOKEN Permissions
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v6.0.2' (SHA:de0fac2e4500dabe0009e67214ff5f5447ce83dd)
Complete job name: repro (ubuntu-24.04)
Is it regression?
Yes. The same standalone repro passes on ubuntu-22.04 hosted runners with kernel 6.8.0-1052-azure. Known passing run: https://github.com/e2b-dev/ublk-adddev-repro/actions The failing image is ubuntu-24.04 version 20260525.161.1 with kernel 6.17.0-1015-azure.
Expected behavior
A single UBLK_U_CMD_ADD_DEV should either complete successfully or return an error CQE. It should not Oops the kernel or leave the userspace process stuck waiting for a completion.
Actual behavior
On ubuntu-24.04 amd64 runners, the repro triggers a kernel Oops in ublk_drv:
RIP: ublk_init_queues+0x4e/0x1e0 [ublk_drv]
Call Trace:
ublk_ctrl_add_dev
ublk_ctrl_uring_cmd
io_uring_cmd
io_wq_submit_work
io_wq_worker
After the Oops, the ADD_DEV command never completes, so userspace waits indefinitely. The same repro passes on ubuntu-22.04.
Repro steps
Public minimal repro repo:
https://github.com/e2b-dev/ublk-adddev-repro
Workflow:
https://github.com/e2b-dev/ublk-adddev-repro/actions
Manual steps on an ubuntu-24.04 amd64 hosted runner:
sudo modprobe ublk_drv || {
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends "linux-modules-extra-$(uname -r)"
sudo modprobe ublk_drv
}
make
sudo ./ublk_add_dev_repro