CVE-2026-52987

Summary

In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu: avoid double drm_exec_fini() in userq validate

When new_addition is true, amdgpu_userq_vm_validate() calls drm_exec_fini(&exec) before iterating over the collected HMM ranges and calling amdgpu_ttm_tt_get_user_pages().

If amdgpu_ttm_tt_get_user_pages() fails in that path, the code jumps to unlock_all and calls drm_exec_fini(&exec) a second time on the same exec object. drm_exec_fini() is not idempotent: it frees exec->objects and may also drop exec->contended and finalize the ww acquire context.

Route that error path directly to the range cleanup once exec has already been finalized.

Issue found using a prototype static analysis tool and confirmed by code review.

(cherry picked from commit 2802952e4a07306da6ebe813ff1acacc5691851a)

Affected Software

VendorProductVersion RangeStatus
LinuxLinux42f148788469792df207751e2339ef2bb8a1e33e < c7c3ae7c01e5a0742b93cb9b40800bdd7f811e38affected
LinuxLinux42f148788469792df207751e2339ef2bb8a1e33e < 508babf310365f1107a2e8831c267c292a286818affected
LinuxLinux6.19affected
LinuxLinux0 < 6.19unaffected
LinuxLinux7.0.10 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

ADP Enrichment

kernel: drm/amdgpu: avoid double drm_exec_fini() in userq validate

Additional References

References