PT-2026-85732 · Linux · Linux

CVE-2026-80854

·

Published

2026-09-04

·

Updated

2026-09-04

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f tcm: keep port count until LUN teardown completes
tcm usbg drop nexus() permits session removal once tpg port count reaches zero. However, usbg port unlink() currently decrements that count from the fabric pre unlink() callback, before core dev del lun() waits for active se lun references to drain.
If removal of the last LUN races a nexus removal, the latter can observe a zero port count and call target remove session(). This frees sess cmd map while an in-flight struct usbg cmd, including its work item, can still be accessed.
Overlapping the last-LUN unlink with nexus removal reproduces this lifetime violation as a DEBUG OBJECTS "free active" warning for usbg cmd work, followed by a target-core BUG/Oops.
The generic target-core unlink path has no callback after core dev del lun() completes. Add an optional fabric post unlink() callback and use it for the f tcm port count. The count now remains nonzero until core dev del lun() has finished draining active LUN references, preventing nexus removal from freeing the session during command completion.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-80854

Affected Products

Linux