aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rix <[email protected]>2022-02-09 06:52:54 -0800
committerAlex Deucher <[email protected]>2022-02-11 16:10:40 -0500
commit574ff46f10102f65c40d24729197033a80458238 (patch)
treee40523ed611968dc7643e97ba8c9951fa3a717ed
parent5aa71bd773c390891974b1bcbdb3b12aa17c781d (diff)
drm/amdkfd: fix freeing an unset pointer
clang static analysis reports this problem kfd_chardev.c:2092:2: warning: 1st function call argument is an uninitialized value kvfree(bo_privs); ^~~~~~~~~~~~~~~~ When bo_buckets alloc fails, it jumps to an error handler that frees the yet to be allocated bo_privs. Because bo_buckets is the first error, return directly. Fixes: 5ccbb057c0a1 ("drm/amdkfd: CRIU Implement KFD checkpoint ioctl") Signed-off-by: Tom Rix <[email protected]> Reviewed-by: Felix Kuehling <[email protected]> Signed-off-by: Felix Kuehling <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_chardev.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
index 8d998aac7b42..6ad87fb98bcd 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
@@ -1708,10 +1708,8 @@ static int criu_checkpoint_bos(struct kfd_process *p,
void *mem;
bo_buckets = kvzalloc(num_bos * sizeof(*bo_buckets), GFP_KERNEL);
- if (!bo_buckets) {
- ret = -ENOMEM;
- goto exit;
- }
+ if (!bo_buckets)
+ return -ENOMEM;
bo_privs = kvzalloc(num_bos * sizeof(*bo_privs), GFP_KERNEL);
if (!bo_privs) {