一线运维实战手记 · 云计算 · 数据库 · 故障排查
2026年10月19日

CVE-2026-98765 – In the Linux kernel, the following vulnerability has been resolved: USB: gadget: dummy-hc

未分类
📑 文章目录

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

USB: gadget: dummy-hcd: Fix wait for outstanding request completions

The dummy-hcd driver emulates synchronize_irq() by waiting until its
private callback_usage counter drops to 0 (with the private lock not
held). This counter is incremented whenever a gadget driver callback
occurs (which requires the private lock to be dropped), but not when a
request completion handler is called.

This is an oversight. Request completion is triggered by timer
interrupts (emulating device IRQs in a real UDC), and the interrupt
handlers are supposed to have completed when the synchronize_irq()
emulation routine returns — they aren’t supposed to be in the middle
of a completion callback. If this happens it can lead to a gadget
driver’s unbind routine running before all outstanding request
completions have finished, maybe even allowing the gadget driver’s
module to be unloaded while a completion handler is still running.

Fix the oversight by incrementing the callback_usage value across
request completion callbacks.