Description
In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use priv->vidi_dev for ctx lookup in vidi_connection_ioctl() vidi_connection_ioctl() retrieves the driver_data from drm_dev->dev to obtain a struct vidi_context pointer. However, drm_dev->dev is the exynos-drm master device, and the driver_data contained therein is not the vidi component device, but a completely different device. This can lead to various bugs, ranging from null pointer dereferences and garbage value accesses to, in unlucky cases, out-of-bounds errors, use-after-free errors, and more. To resolve this issue, we need to store/delete the vidi device pointer in exynos_drm_private->vidi_dev during bind/unbind, and then read this exynos_drm_private->vidi_dev within ioctl() to obtain the correct struct vidi_context pointer.
Product status
cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 (git) before 2987642c5213508c6c9e718324c0d5289a92c474
cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 (git) before 65d1213baffa363f2eb1117b1dc7acc573b890f8
cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 (git) before 875fa28690e93ed5296c31d3344556c6bb867234
cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 (git) before 21ca24ba51a2c28bcc4df9d7e5a40b0eb66ab76d
cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 (git) before b5fc86d753dd4c281a943b92f0eef02d31af03d7
cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 (git) before a540f767642f75240a6c35f6a65b69e44cfcea9d
cf67cc9a29ac19c98bc4fa0e6d14b0c1f592d322 (git) before d3968a0d85b211e197f2f4f06268a7031079e0d0
4.3
Any version before 4.3
5.10.253 (semver)
5.15.203 (semver)
6.1.167 (semver)
6.6.130 (semver)
6.18.14 (semver)
6.19.4 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/2987642c5213508c6c9e718324c0d5289a92c474
git.kernel.org/...c/65d1213baffa363f2eb1117b1dc7acc573b890f8
git.kernel.org/...c/875fa28690e93ed5296c31d3344556c6bb867234
git.kernel.org/...c/21ca24ba51a2c28bcc4df9d7e5a40b0eb66ab76d
git.kernel.org/...c/b5fc86d753dd4c281a943b92f0eef02d31af03d7
git.kernel.org/...c/a540f767642f75240a6c35f6a65b69e44cfcea9d
git.kernel.org/...c/d3968a0d85b211e197f2f4f06268a7031079e0d0