Description
In the Linux kernel, the following vulnerability has been resolved:
media: sun4i-csi: 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.
sun4i_csi_start_streaming() returned -EINVAL when no matching CSI format could be found, before any setup (scratch buffer allocation, pipeline start) had been performed. The remaining error paths already converge on the err_clear_dma_queue label, which calls return_all_buffers(..., VB2_BUF_STATE_QUEUED) under csi->qlock. Jump to that label directly: the intermediate err_disable_device / err_disable_pipeline / err_free_scratch_buffer labels are skipped, which is correct because nothing they would undo has happened yet.
This mirrors the uvcvideo fix in commit 4cf3b6fd54eb ("media: uvcvideo: Return queued buffers on start_streaming() failure").
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HAffected software
Source: the vendor's advisory (CNA). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 577bbf23b758848f0c4a50d346460b690c753024, < 29fce7bcb3b959f6d4fdcdff7d26330152fdf98d; >= 577bbf23b758848f0c4a50d346460b690c753024, < 7c2c30e282745a83d332c3cf92d1c0bcc491ac54; >= 577bbf23b758848f0c4a50d346460b690c753024, < 3c0bd793b0083fd4639ba7f60d1e7db8c8ac459a; >= 577bbf23b758848f0c4a50d346460b690c753024, < 4872161e6fbe4e1783daea8bff79caddfae0fb82; >= 577bbf23b758848f0c4a50d346460b690c753024, < a8abecc638a7feb20b78fabd563b05e30c071331; >= 577bbf23b758848f0c4a50d346460b690c753024, < b5184b3f0e9d4cc47059ba1138c9a73d43d2493f; >= 577bbf23b758848f0c4a50d346460b690c753024, < 668face37fdb6b6900645dc8777195498541c9a7; >= 577bbf23b758848f0c4a50d346460b690c753024, < bbba3e260a62810a717b4442a3bb96d0ec0f6309 |
| Linux | Linux | 5.4 |
References
- https://git.kernel.org/stable/c/29fce7bcb3b959f6d4fdcdff7d26330152fdf98d
- https://git.kernel.org/stable/c/3c0bd793b0083fd4639ba7f60d1e7db8c8ac459a
- https://git.kernel.org/stable/c/4872161e6fbe4e1783daea8bff79caddfae0fb82
- https://git.kernel.org/stable/c/668face37fdb6b6900645dc8777195498541c9a7
- https://git.kernel.org/stable/c/7c2c30e282745a83d332c3cf92d1c0bcc491ac54
- https://git.kernel.org/stable/c/a8abecc638a7feb20b78fabd563b05e30c071331
- https://git.kernel.org/stable/c/b5184b3f0e9d4cc47059ba1138c9a73d43d2493f
- https://git.kernel.org/stable/c/bbba3e260a62810a717b4442a3bb96d0ec0f6309
Timeline
- Published
- Aug 10, 2026
- Last modified
- Aug 19, 2026
- NVD status
- Received