In the Linux kernel, the following vulnerability has been resolved: media: pwc: Return queued...
🔗 CVE IDs covered (1)
📋 Description
In the Linux kernel, the following vulnerability has been resolved:
media: pwc: Return queued buffers on start_streaming() failure
The vb2 framework hands buffers to the driver via buf_queue() before calling start_streaming(). If start_streaming() returns an error without first returning those buffers via vb2_buffer_done(), vb2_start_streaming() fires WARN_ON(owned_by_drv_count) and the queued buffers leak.
pwc's start_streaming() had two early returns that hit this trap: -ENODEV when the USB device was already disconnected, and -ERESTARTSYS when mutex_lock_interruptible() was interrupted by a signal. Call the existing pwc_cleanup_queued_bufs() helper with VB2_BUF_STATE_QUEUED before returning (matching the state already used by the pwc_isoc_init() error path in the same function).
This mirrors the uvcvideo fix in commit 4cf3b6fd54eb ("media: uvcvideo: Return queued buffers on start_streaming() failure").
🔗 References (10)
- https://nvd.nist.gov/vuln/detail/CVE-2026-68216
- https://git.kernel.org/stable/c/5d7cc2634c3843a1414a0f6407aa17f1f91dee60
- https://git.kernel.org/stable/c/975b2ee20e569d47821e4f6c9761b4664d48a6a4
- https://git.kernel.org/stable/c/a4f8f629983f643333e49df90557805469bcbb25
- https://git.kernel.org/stable/c/cb16b79a2be2cec9c3ebe4147490817c4d8b1de3
- https://git.kernel.org/stable/c/f2f9fcacd81953dde6cb86312ab13ca13e689664
- https://git.kernel.org/stable/c/0362ae30b61b3053ee3095c1b8f179197ec4f539
- https://git.kernel.org/stable/c/d552852bf76b7dfb35b4593fc874d8dd2f1b1bf3
- https://git.kernel.org/stable/c/fa78e590852751d3ad32f33f6b4e210fe6ccbe9b
- https://github.com/advisories/GHSA-3p7c-r2j9-9rqv