Description
In the Linux kernel, the following vulnerability has been resolved: media: go7007: defer the ALSA v4l2 put until card release go7007_snd_init() already takes a v4l2_device reference for the ALSA side, but go7007_snd_remove() drops it immediately after calling snd_card_free_when_closed(). That is too early when a userspace process still has the capture PCM open. The ALSA card and its PCM callbacks remain alive until the last file is closed, so the release path can still reach struct go7007 through pcm->private_data and call go7007_snd_hw_free() after the V4L2 release path has freed the object. Move the matching v4l2_device_put() to the ALSA card private_free callback so the existing ALSA reference covers the whole deferred card lifetime.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d5d3a7cc127d096c22ad63c4ff72970e1beb22ef to < 1c57d1a3396b2d767d58f10dff09bb397586c714affectedd5d3a7cc127d096c22ad63c4ff72970e1beb22ef to < 9c4f9628b8558c87903492a777834cc5be14ded3affectedd5d3a7cc127d096c22ad63c4ff72970e1beb22ef to < b7a0de398ad510426db9c8e96c516ef7abf48b0eaffectedd5d3a7cc127d096c22ad63c4ff72970e1beb22ef to < 1c9fdd9465211432d5c0ff70caaec0be245823d5affectedd5d3a7cc127d096c22ad63c4ff72970e1beb22ef to < 29fe4d38fb59ec28ca656cb2dabc2b0f78e78980affectedd5d3a7cc127d096c22ad63c4ff72970e1beb22ef to < 0745a59945d927652d892437f9647ed6e87c0677affectedd5d3a7cc127d096c22ad63c4ff72970e1beb22ef to < e6f1a1ac9b8ccabfec548aef0d0d93eaf4dba4f4affectedd5d3a7cc127d096c22ad63c4ff72970e1beb22ef to < 1bd456afeb8a515137e567967069fce6f8fcd23eaffected
Linux Linux
Default version status: affected
3.10affected0 to < 3.10unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.51 to ≤ 6.18.*unaffected7.2.5 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/1c57d1a3396b2d767d58f10dff09bb397586c714 ↗
- https://git.kernel.org/stable/c/9c4f9628b8558c87903492a777834cc5be14ded3 ↗
- https://git.kernel.org/stable/c/b7a0de398ad510426db9c8e96c516ef7abf48b0e ↗
- https://git.kernel.org/stable/c/1c9fdd9465211432d5c0ff70caaec0be245823d5 ↗
- https://git.kernel.org/stable/c/29fe4d38fb59ec28ca656cb2dabc2b0f78e78980 ↗
- https://git.kernel.org/stable/c/0745a59945d927652d892437f9647ed6e87c0677 ↗
- https://git.kernel.org/stable/c/e6f1a1ac9b8ccabfec548aef0d0d93eaf4dba4f4 ↗
- https://git.kernel.org/stable/c/1bd456afeb8a515137e567967069fce6f8fcd23e ↗