Description
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)
CVSS breakdown
Affected products
- Linux / Linux42f148788469792df207751e2339ef2bb8a1e33e – c7c3ae7c01e5a0742b93cb9b40800bdd7f811e38
- Linux / Linux42f148788469792df207751e2339ef2bb8a1e33e – 508babf310365f1107a2e8831c267c292a286818
- Linux / Linux6.19 – 6.19
- Linux / Linux0 – 6.19
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *