projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a055901
)
drm/amdkfd: fix the clean up when amdgpu_hmm_range_alloc fails
author
Sunil Khatri
<sunil.khatri@amd.com>
Fri, 24 Oct 2025 16:59:00 +0000
(22:29 +0530)
committer
Alex Deucher
<alexander.deucher@amd.com>
Tue, 28 Oct 2025 14:00:35 +0000
(10:00 -0400)
we need to unreserve the bo's too during clean up along
with freeing the memory of context.
Fixes:
7bb02a34c2ba
("drm/amdkfd: add missing return value check for range")
Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_svm.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index
7f0ab73
..
729aac8
100644
(file)
--- a/
drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/
drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@
-1738,14
+1738,11
@@
static int svm_range_validate_and_map(struct mm_struct *mm,
WRITE_ONCE(p->svms.faulting_task, current);
range = amdgpu_hmm_range_alloc(NULL);
- if (unlikely(!range)) {
+ if (likely(range))
+ r = amdgpu_hmm_range_get_pages(&prange->notifier, addr, npages,
+ readonly, owner, range);
+ else
r = -ENOMEM;
- goto free_ctx;
- }
-
- r = amdgpu_hmm_range_get_pages(&prange->notifier, addr, npages,
- readonly, owner,
- range);
WRITE_ONCE(p->svms.faulting_task, NULL);
if (r) {
amdgpu_hmm_range_free(range);