Description
In the Linux kernel, the following vulnerability has been resolved: drm: fix race between partial drm_dev_register() failure and ioctl If drm_dev_register() fails after registering a minor (e.g. render minor registered, primary minor fails), userspace could have opened the first minor and entered a drm_dev_enter() critical section. Since the unplugged flag was never set, the ioctl proceeds while the error path tears down device resources. Fix this by introducing drm_dev_synchronize_unplug(), which sets the unplugged flag and waits for the SRCU barrier, ensuring all in-flight drm_dev_enter() critical sections complete before cleanup proceeds; call it on the error path of drm_dev_register().
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
bee330f3d67273a68dcb99f59480d59553c008b2 to < 26d9162213952927cd59c0d94b7e0e992b347becaffectedbee330f3d67273a68dcb99f59480d59553c008b2 to < 24d28d15c0f7f7d4a1c229f8730314f0f8758810affectedbee330f3d67273a68dcb99f59480d59553c008b2 to < 6729990df9e70623bf53f855b521ae71ca9cb278affectedbee330f3d67273a68dcb99f59480d59553c008b2 to < a0a7e2e177f2f18b9e7318a4c64ac44efd9ef22caffectedbee330f3d67273a68dcb99f59480d59553c008b2 to < 19dbfe4d586aecfed121cb3fa62281761d9d341faffectedbee330f3d67273a68dcb99f59480d59553c008b2 to < 79d09cfe90304ff4f195e47d569800f5e0f8b854affectedbee330f3d67273a68dcb99f59480d59553c008b2 to < 2d1215a72159d00001e08dee162e27718934bee9affectedbee330f3d67273a68dcb99f59480d59553c008b2 to < eb197f7d60f00d0f5b1b3505dfc86a7e36045a3eaffected
Linux Linux
Default version status: affected
4.18affected0 to < 4.18unaffected5.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/26d9162213952927cd59c0d94b7e0e992b347bec ↗
- https://git.kernel.org/stable/c/24d28d15c0f7f7d4a1c229f8730314f0f8758810 ↗
- https://git.kernel.org/stable/c/6729990df9e70623bf53f855b521ae71ca9cb278 ↗
- https://git.kernel.org/stable/c/a0a7e2e177f2f18b9e7318a4c64ac44efd9ef22c ↗
- https://git.kernel.org/stable/c/19dbfe4d586aecfed121cb3fa62281761d9d341f ↗
- https://git.kernel.org/stable/c/79d09cfe90304ff4f195e47d569800f5e0f8b854 ↗
- https://git.kernel.org/stable/c/2d1215a72159d00001e08dee162e27718934bee9 ↗
- https://git.kernel.org/stable/c/eb197f7d60f00d0f5b1b3505dfc86a7e36045a3e ↗