Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: drm/xe: free madvise VMA array on L2 flush failure xe_vm_madvise_ioctl() allocates madvise_range.vmas in get_vmas(). After get_vmas() succeeds with at least one VMA, error paths must go through free_vmas so the array is released before the madvise details are destroyed. The L2 flush validation path added for PAT madvise rejects some SVM/userptr ranges after get_vmas() has succeeded, but jumps directly to madv_fini. This skips kfree(madvise_range.vmas), leaking the VMA array on each failed ioctl. Jump to free_vmas instead, matching the other validation failure paths after get_vmas() has succeeded. (cherry picked from commit c3a1c3579b1250060da73507a4acef712974c78a)
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 4f39a194d41e6b8cb61a91a7bb01b17be59a7d73 before bf126747e7bff55e5ba0b1ec10fc5fce99feaed9; affected 4f39a194d41e6b8cb61a91a7bb01b17be59a7d73 before 14abbed336a2d1bbd726c25d148d2ec0ff928073 |
| Linux / Linux | affected 7.1; unaffected 0 before 7.1; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.