CVE-2026-89823
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
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 Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | bee330f3d67273a68dcb99f59480d59553c008b2 < 26d9162213952927cd59c0d94b7e0e992b347bec | affected |
| Linux | Linux | bee330f3d67273a68dcb99f59480d59553c008b2 < 24d28d15c0f7f7d4a1c229f8730314f0f8758810 | affected |
| Linux | Linux | bee330f3d67273a68dcb99f59480d59553c008b2 < 6729990df9e70623bf53f855b521ae71ca9cb278 | affected |
| Linux | Linux | bee330f3d67273a68dcb99f59480d59553c008b2 < a0a7e2e177f2f18b9e7318a4c64ac44efd9ef22c | affected |
| Linux | Linux | bee330f3d67273a68dcb99f59480d59553c008b2 < 19dbfe4d586aecfed121cb3fa62281761d9d341f | affected |
| Linux | Linux | bee330f3d67273a68dcb99f59480d59553c008b2 < 79d09cfe90304ff4f195e47d569800f5e0f8b854 | affected |
| Linux | Linux | bee330f3d67273a68dcb99f59480d59553c008b2 < 2d1215a72159d00001e08dee162e27718934bee9 | affected |
| Linux | Linux | bee330f3d67273a68dcb99f59480d59553c008b2 < eb197f7d60f00d0f5b1b3505dfc86a7e36045a3e | affected |
| Linux | Linux | 4.18 | affected |
| Linux | Linux | 0 < 4.18 | unaffected |
| Linux | Linux | 5.10.270 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.221 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.188 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.157 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.110 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.51 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.5 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
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
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.