diff mbox

drm/amdgpu_gem: fix error handling path in amdgpu_gem_va_update_vm

Message ID 20180215052000.GA25691@embeddedgus (mailing list archive)
State New, archived
Headers show

Commit Message

Gustavo A. R. Silva Feb. 15, 2018, 5:20 a.m. UTC
Currently, if amdgpu_vm_bo_update() fails, the returned error
is being ignored.

Fix this by properly checking _r_ after calling amdgpu_vm_bo_update.
Also, remove redundant code just before label _error_.

Addresses-Coverity-ID: 1464280 ("Unused value")
Fixes: 0abc6878fc2d ("drm/amdgpu: update VM PDs after the PTs")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Christian König Feb. 15, 2018, 12:32 p.m. UTC | #1
Am 15.02.2018 um 06:20 schrieb Gustavo A. R. Silva:
> Currently, if amdgpu_vm_bo_update() fails, the returned error
> is being ignored.
>
> Fix this by properly checking _r_ after calling amdgpu_vm_bo_update.
> Also, remove redundant code just before label _error_.
>
> Addresses-Coverity-ID: 1464280 ("Unused value")
> Fixes: 0abc6878fc2d ("drm/amdgpu: update VM PDs after the PTs")
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>

Reviewed-by: Christian König <christian.koenig@amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> index e48b4ec..db85fc0 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> @@ -523,12 +523,13 @@ static void amdgpu_gem_va_update_vm(struct amdgpu_device *adev,
>   		goto error;
>   
>   	if (operation == AMDGPU_VA_OP_MAP ||
> -	    operation == AMDGPU_VA_OP_REPLACE)
> +	    operation == AMDGPU_VA_OP_REPLACE) {
>   		r = amdgpu_vm_bo_update(adev, bo_va, false);
> +		if (r)
> +			goto error;
> +	}
>   
>   	r = amdgpu_vm_update_directories(adev, vm);
> -	if (r)
> -		goto error;
>   
>   error:
>   	if (r && r != -ERESTARTSYS)
Gustavo A. R. Silva Feb. 15, 2018, 4:11 p.m. UTC | #2
On 02/15/2018 06:32 AM, Christian König wrote:
> Am 15.02.2018 um 06:20 schrieb Gustavo A. R. Silva:
>> Currently, if amdgpu_vm_bo_update() fails, the returned error
>> is being ignored.
>>
>> Fix this by properly checking _r_ after calling amdgpu_vm_bo_update.
>> Also, remove redundant code just before label _error_.
>>
>> Addresses-Coverity-ID: 1464280 ("Unused value")
>> Fixes: 0abc6878fc2d ("drm/amdgpu: update VM PDs after the PTs")
>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> 
> Reviewed-by: Christian König <christian.koenig@amd.com>
> 

Thanks, Christian
--
Gustavo

>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 7 ++++---
>>   1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>> index e48b4ec..db85fc0 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>> @@ -523,12 +523,13 @@ static void amdgpu_gem_va_update_vm(struct 
>> amdgpu_device *adev,
>>           goto error;
>>       if (operation == AMDGPU_VA_OP_MAP ||
>> -        operation == AMDGPU_VA_OP_REPLACE)
>> +        operation == AMDGPU_VA_OP_REPLACE) {
>>           r = amdgpu_vm_bo_update(adev, bo_va, false);
>> +        if (r)
>> +            goto error;
>> +    }
>>       r = amdgpu_vm_update_directories(adev, vm);
>> -    if (r)
>> -        goto error;
>>   error:
>>       if (r && r != -ERESTARTSYS)
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index e48b4ec..db85fc0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -523,12 +523,13 @@  static void amdgpu_gem_va_update_vm(struct amdgpu_device *adev,
 		goto error;
 
 	if (operation == AMDGPU_VA_OP_MAP ||
-	    operation == AMDGPU_VA_OP_REPLACE)
+	    operation == AMDGPU_VA_OP_REPLACE) {
 		r = amdgpu_vm_bo_update(adev, bo_va, false);
+		if (r)
+			goto error;
+	}
 
 	r = amdgpu_vm_update_directories(adev, vm);
-	if (r)
-		goto error;
 
 error:
 	if (r && r != -ERESTARTSYS)