[PATCH] gpu/drm/radeon:Fix null pointer risk

Wen Zhiwei posted 1 patch 4 years, 6 months ago
drivers/gpu/drm/radeon/radeon_vm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] gpu/drm/radeon:Fix null pointer risk
Posted by Wen Zhiwei 4 years, 6 months ago
If the null pointer is not judged in advance,
there is a risk that the pointer will cross
the boundary

Signed-off-by: Wen Zhiwei <wenzhiwei@kylinos.cn>
---
 drivers/gpu/drm/radeon/radeon_vm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c
index bb53016f3138..d3d342041adf 100644
--- a/drivers/gpu/drm/radeon/radeon_vm.c
+++ b/drivers/gpu/drm/radeon/radeon_vm.c
@@ -951,7 +951,7 @@ int radeon_vm_bo_update(struct radeon_device *rdev,
 
 		if (mem->mem_type == TTM_PL_TT) {
 			bo_va->flags |= RADEON_VM_PAGE_SYSTEM;
-			if (!(bo_va->bo->flags & (RADEON_GEM_GTT_WC | RADEON_GEM_GTT_UC)))
+			if (bo_va->bo && !(bo_va->bo->flags & (RADEON_GEM_GTT_WC | RADEON_GEM_GTT_UC)))
 				bo_va->flags |= RADEON_VM_PAGE_SNOOPED;
 
 		} else {
-- 
2.30.0

Re: [PATCH] gpu/drm/radeon:Fix null pointer risk
Posted by Christian König 4 years, 6 months ago
Am 28.12.21 um 08:31 schrieb Wen Zhiwei:
> If the null pointer is not judged in advance,
> there is a risk that the pointer will cross
> the boundary

As far as I can see that case is impossible, why do you want to add a 
check for it?

Regards,
Christian.

>
> Signed-off-by: Wen Zhiwei <wenzhiwei@kylinos.cn>
> ---
>   drivers/gpu/drm/radeon/radeon_vm.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c
> index bb53016f3138..d3d342041adf 100644
> --- a/drivers/gpu/drm/radeon/radeon_vm.c
> +++ b/drivers/gpu/drm/radeon/radeon_vm.c
> @@ -951,7 +951,7 @@ int radeon_vm_bo_update(struct radeon_device *rdev,
>   
>   		if (mem->mem_type == TTM_PL_TT) {
>   			bo_va->flags |= RADEON_VM_PAGE_SYSTEM;
> -			if (!(bo_va->bo->flags & (RADEON_GEM_GTT_WC | RADEON_GEM_GTT_UC)))
> +			if (bo_va->bo && !(bo_va->bo->flags & (RADEON_GEM_GTT_WC | RADEON_GEM_GTT_UC)))
>   				bo_va->flags |= RADEON_VM_PAGE_SNOOPED;
>   
>   		} else {