diff options
author | Tom Rix <trix@redhat.com> | 2022-02-10 09:04:18 -0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2022-02-11 16:11:33 -0500 |
commit | d8a25e48585773afc573e835a52f9cbf409215bc (patch) | |
tree | a3ccb358c2daeb006fd5af6196c2f63646c765db | |
parent | fd22013a098baca78679656d55f8fd0becb99a8d (diff) |
drm/amdkfd: fix loop error handling
Clang static analysis reports this problem
kfd_chardev.c:2594:16: warning: The expression is an uninitialized value.
The computed value will also be garbage
while (ret && i--) {
^~~
i is a loop variable and this block unwinds a problem in the loop.
When the error happens before the loop, this value is garbage.
Move the initialization of i to its decalaration.
Fixes: be072b06c739 ("drm/amdkfd: CRIU export BOs as prime dmabuf objects")
Signed-off-by: Tom Rix <trix@redhat.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c index 6ad87fb98bcd..d5699aa79578 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c @@ -2100,7 +2100,7 @@ static int criu_restore_bos(struct kfd_process *p, const bool criu_resume = true; bool flush_tlbs = false; int ret = 0, j = 0; - uint32_t i; + uint32_t i = 0; if (*priv_offset + (args->num_bos * sizeof(*bo_privs)) > max_priv_data_size) return -EINVAL; @@ -2136,7 +2136,7 @@ static int criu_restore_bos(struct kfd_process *p, *priv_offset += args->num_bos * sizeof(*bo_privs); /* Create and map new BOs */ - for (i = 0; i < args->num_bos; i++) { + for (; i < args->num_bos; i++) { struct kfd_criu_bo_bucket *bo_bucket; struct kfd_criu_bo_priv_data *bo_priv; struct kfd_dev *dev; |