← Back to CVE List
CVE-2026-90127NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
virtio: rtc: time out alarm requests
RTC class operations run with rtc_device.ops_lock held. The virtio RTC
alarm requests currently wait without a timeout for the device to return
their requestq buffers.
On surprise removal, virtio-pci marks the virtqueues broken before
unregistering the virtio device. If an alarm request is waiting when the
device stops responding, viortc_remove() blocks in viortc_class_stop()
while trying to acquire ops_lock. The request cannot complete and device
removal hangs until the waiting task is signalled.
Use the same 60-second timeout as clock read requests for alarm reads,
alarm programming, and alarm interrupt enable requests. The existing
message reference counting keeps a timed-out request alive until a late
response or device teardown.
virtio: rtc: time out alarm requests
RTC class operations run with rtc_device.ops_lock held. The virtio RTC
alarm requests currently wait without a timeout for the device to return
their requestq buffers.
On surprise removal, virtio-pci marks the virtqueues broken before
unregistering the virtio device. If an alarm request is waiting when the
device stops responding, viortc_remove() blocks in viortc_class_stop()
while trying to acquire ops_lock. The request cannot complete and device
removal hangs until the waiting task is signalled.
Use the same 60-second timeout as clock read requests for alarm reads,
alarm programming, and alarm interrupt enable requests. The existing
message reference counting keeps a timed-out request alive until a late
response or device teardown.
Affected & Patched Versions
- Linux Linux >= 9d4f22fd563e0cd02e8448e84d057e7c0132a586 and < 28701b74c22d2a43ddf7aebb6378e60c18323865
- Linux Linux >= 9d4f22fd563e0cd02e8448e84d057e7c0132a586 and < afbf69d1d691c06d093d7c3f17168ecb608c4977
- Linux Linux >= 9d4f22fd563e0cd02e8448e84d057e7c0132a586 and < 68e00d9212929805b40dcb9166755610f4f4acee
- Linux Linux >= 6.16
- Linux Linux 28701b74c22d2a43ddf7aebb6378e60c18323865
- Linux Linux afbf69d1d691c06d093d7c3f17168ecb608c4977
- Linux Linux 68e00d9212929805b40dcb9166755610f4f4acee