Description
In the Linux kernel, the following vulnerability has been resolved: media: mc, v4l2: serialize REINIT and REQBUFS with req_queue_mutex MEDIA_REQUEST_IOC_REINIT can run concurrently with VIDIOC_REQBUFS(0) queue teardown paths. This can race request object cleanup against vb2 queue cancellation and lead to use-after-free reports. We already serialize request queueing against STREAMON/OFF with req_queue_mutex. Extend that serialization to REQBUFS, and also take the same mutex in media_request_ioctl_reinit() so REINIT is in the same exclusion domain. This keeps request cleanup and queue cancellation from running in parallel for request-capable devices.
Product status
6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (git) before 331242998a7ade5c2f65e14988901614629f3db5
6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (git) before 2c685e99efb3b3bd2b78699fba6b1cf321975db0
6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (git) before 585fd9a2063dacce8b2820f675ef23d5d17434c5
6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (git) before 1a0d9083c24fbd5d22f7100f09d11e4d696a5f01
6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (git) before d8549a453d5bdc0a71de66ad47a1106703406a56
6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (git) before 72b9e81e0203f03c40f3adb457f55bd4c8eb112d
6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (git) before cf2023e84f0888f96f4b65dc0804e7f3651969c1
6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (git) before bef4f4a88b73e4cc550d25f665b8a9952af22773
4.20
Any version before 4.20
5.10.253 (semver)
5.15.203 (semver)
6.1.168 (semver)
6.6.131 (semver)
6.12.80 (semver)
6.18.21 (semver)
6.19.11 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/331242998a7ade5c2f65e14988901614629f3db5
git.kernel.org/...c/2c685e99efb3b3bd2b78699fba6b1cf321975db0
git.kernel.org/...c/585fd9a2063dacce8b2820f675ef23d5d17434c5
git.kernel.org/...c/1a0d9083c24fbd5d22f7100f09d11e4d696a5f01
git.kernel.org/...c/d8549a453d5bdc0a71de66ad47a1106703406a56
git.kernel.org/...c/72b9e81e0203f03c40f3adb457f55bd4c8eb112d
git.kernel.org/...c/cf2023e84f0888f96f4b65dc0804e7f3651969c1
git.kernel.org/...c/bef4f4a88b73e4cc550d25f665b8a9952af22773