drm/amdkfd: Fix the case that vm range is hole at svm_migrate_copy_to_vram
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.114, 6.18.51, 7.2.5
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Fix the case that vm range is hole at svm_migrate_copy_to_vram When migration vm range is hole at cpu side(MIGRATE_PFN_MIGRATE set + MIGRATE_PFN_VALID unset) driver still allocates device pages. There is no dma map of src pages and migration. j is 0 and svm_migrate_copy_memory_gart() will return an uninitialized r. That can trigger out_free_vram_pages to drop all VRAM just set up. Initialize r and only call the last svm_migrate_copy_memory_gart if j > 0. Current code postponed the last page to the final copy. This patch flushes on the last page when reach to the end of current drm_buddy_block; avoids another svm_migrate_copy_memory_gart.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 50ea50cf6f6d31d3235ad1853c5dbea766a3ed11 · fixed in 6e1a6f3ddb87d7f89a775c55fb399680c02bdcc2; From 50ea50cf6f6d31d3235ad1853c5dbea766a3ed11 · fixed in bd1adb2e5101db649121b59e601c92773a302a70; From 50ea50cf6f6d31d3235ad1853c5dbea766a3ed11 · fixed in ae806a95b28fcecb913430cfa45a252e91a945d6; From 50ea50cf6f6d31d3235ad1853c5dbea766a3ed11 · fixed in 0a9a0e8a97da70a0336c9115178aaf1be29bcfb1; From 50ea50cf6f6d31d3235ad1853c5dbea766a3ed11 · fixed in 520e345ffe05aabef1db82beda4288afb1757ff2
- Linux Linux
5.14
- KernelLinux
From 5.14.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5