Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

CVE-2026-68217

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
10/08/2026
Última modificación:
19/08/2026

Descripción

*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> media: pwc: Drain fill_buf on start_streaming() failure<br /> <br /> pwc_isoc_init() submits its isochronous URBs with<br /> usb_submit_urb(.., GFP_KERNEL) in a loop. After the first URB is<br /> submitted, its completion handler pwc_isoc_handler() can run on another<br /> CPU before the loop finishes:<br /> <br /> start_streaming()<br /> pwc_isoc_init()<br /> usb_submit_urb(urbs[0], GFP_KERNEL)<br /> pwc_isoc_handler(urbs[0])<br /> pdev-&gt;fill_buf =<br /> pwc_get_next_fill_buf(pdev)<br /> usb_submit_urb(urbs[i&gt;0], ..) -&gt; fails<br /> pwc_isoc_cleanup(pdev) /* kills URBs */<br /> return ret;<br /> pwc_cleanup_queued_bufs(pdev, VB2_BUF_STATE_QUEUED)<br /> <br /> pwc_get_next_fill_buf() detaches a buffer from pdev-&gt;queued_bufs and<br /> stores it in pdev-&gt;fill_buf. The error path in start_streaming() only<br /> drains pdev-&gt;queued_bufs, so the buffer parked in pdev-&gt;fill_buf is<br /> leaked. vb2_start_streaming() then triggers<br /> WARN_ON(owned_by_drv_count).<br /> <br /> stop_streaming() already handles this since commit 80b0963e1698<br /> ("[media] pwc: fix WARN_ON"), which added the fill_buf drain in the<br /> teardown path but not in the start_streaming() error path. Mirror that<br /> handling on failure so start_streaming() returns with no buffer owned<br /> by the driver.<br /> <br /> Issue identified by automated review of the INV-003 series at<br /> https://sashiko.dev/

Impacto