dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* re: drm/radeon: Only warn if the intra-domain offset actually exceeds the limit.
@ 2012-03-29 12:06 Dan Carpenter
  2012-03-29 14:47 ` [PATCH] drm/radeon: Don't dereference possibly-NULL pointer Michel Dänzer
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2012-03-29 12:06 UTC (permalink / raw)
  To: michel.daenzer; +Cc: dri-devel

Hello Michel Dänzer,

This is a semi-automatic email about new static checker warnings.

The patch d936622c3627: "drm/radeon: Only warn if the intra-domain 
offset actually exceeds the limit." from Mar 28, 2012, leads to the 
following Smatch complaint:

drivers/gpu/drm/radeon/radeon_object.c:244 radeon_bo_pin_restricted()
	 error: we previously assumed 'gpu_addr' could be null (see line 234)

drivers/gpu/drm/radeon/radeon_object.c
   233			bo->pin_count++;
   234			if (gpu_addr)
                            ^^^^^^^^
Old check.

   235				*gpu_addr = radeon_bo_gpu_offset(bo);
   236	
   237			if (max_offset != 0) {
   238				u64 domain_start;
   239	
   240				if (domain == RADEON_GEM_DOMAIN_VRAM)
   241					domain_start = bo->rdev->mc.vram_start;
   242				else
   243					domain_start = bo->rdev->mc.gtt_start;
   244				WARN_ON_ONCE((*gpu_addr - domain_start) > max_offset);
                                              ^^^^^^^^^
New dereference.

   245			}
   246	

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] drm/radeon: Don't dereference possibly-NULL pointer.
  2012-03-29 12:06 drm/radeon: Only warn if the intra-domain offset actually exceeds the limit Dan Carpenter
@ 2012-03-29 14:47 ` Michel Dänzer
  2012-03-30 13:18   ` Alex Deucher
  0 siblings, 1 reply; 3+ messages in thread
From: Michel Dänzer @ 2012-03-29 14:47 UTC (permalink / raw)
  To: dri-devel; +Cc: Dan Carpenter

From: Michel Dänzer <michel.daenzer@amd.com>

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---

Third time's the charm, I hope...

 drivers/gpu/drm/radeon/radeon_object.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c
index ad9d450..028fcf3 100644
--- a/drivers/gpu/drm/radeon/radeon_object.c
+++ b/drivers/gpu/drm/radeon/radeon_object.c
@@ -241,7 +241,8 @@ int radeon_bo_pin_restricted(struct radeon_bo *bo, u32 domain, u64 max_offset,
 				domain_start = bo->rdev->mc.vram_start;
 			else
 				domain_start = bo->rdev->mc.gtt_start;
-			WARN_ON_ONCE((*gpu_addr - domain_start) > max_offset);
+			WARN_ON_ONCE(max_offset <
+				     (radeon_bo_gpu_offset(bo) - domain_start));
 		}
 
 		return 0;
-- 
1.7.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/radeon: Don't dereference possibly-NULL pointer.
  2012-03-29 14:47 ` [PATCH] drm/radeon: Don't dereference possibly-NULL pointer Michel Dänzer
@ 2012-03-30 13:18   ` Alex Deucher
  0 siblings, 0 replies; 3+ messages in thread
From: Alex Deucher @ 2012-03-30 13:18 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: Dan Carpenter, dri-devel

2012/3/29 Michel Dänzer <michel@daenzer.net>:
> From: Michel Dänzer <michel.daenzer@amd.com>
>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>
> Third time's the charm, I hope...
>
>  drivers/gpu/drm/radeon/radeon_object.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c
> index ad9d450..028fcf3 100644
> --- a/drivers/gpu/drm/radeon/radeon_object.c
> +++ b/drivers/gpu/drm/radeon/radeon_object.c
> @@ -241,7 +241,8 @@ int radeon_bo_pin_restricted(struct radeon_bo *bo, u32 domain, u64 max_offset,
>                                domain_start = bo->rdev->mc.vram_start;
>                        else
>                                domain_start = bo->rdev->mc.gtt_start;
> -                       WARN_ON_ONCE((*gpu_addr - domain_start) > max_offset);
> +                       WARN_ON_ONCE(max_offset <
> +                                    (radeon_bo_gpu_offset(bo) - domain_start));
>                }
>
>                return 0;
> --
> 1.7.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-03-30 13:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-29 12:06 drm/radeon: Only warn if the intra-domain offset actually exceeds the limit Dan Carpenter
2012-03-29 14:47 ` [PATCH] drm/radeon: Don't dereference possibly-NULL pointer Michel Dänzer
2012-03-30 13:18   ` Alex Deucher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox