Re: [PATCH] drm/radeon/kms: only warn on mipmap size checks in r600 cs checker

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alex Deucher wrote:
The texture base address registers are in units of 256 bytes.
The original CS checker treated these offsets as bytes, so the
original check was wrong.  I fixed the units in a patch during
the 2.6.36 cycle, but this ended up breaking some existing
userspace (probably due to a bug in either userspace texture allocation
or the drm texture mipmap checker).  So for now, until we come
up with a better fix, just warn if the mipmap size it too large.
This will keep existing userspace working and it should be just
as safe as before when we were checking the wrong units.  These
are GPU MC addresses, so if they fall outside of the VRAM or
GART apertures, they end up at the GPU default page, so this should
be safe from a security perspective.

Signed-off-by: Alex Deucher<alexdeucher@xxxxxxxxx>
Cc: Jerome Glisse<glisse@xxxxxxxxxxxxxxx>
---
  drivers/gpu/drm/radeon/r600_cs.c |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
index d886494..27023a3 100644
--- a/drivers/gpu/drm/radeon/r600_cs.c
+++ b/drivers/gpu/drm/radeon/r600_cs.c
@@ -1172,7 +1172,6 @@ static inline int r600_check_texture_resource(struct radeon_cs_parser *p,  u32 i
  	if ((mipmap_size + word0)>  radeon_bo_size(mipmap)) {
  		dev_warn(p->dev, "mipmap bo too small (%d %d %d %d %d %d ->  %d have %ld)\n",
  			w0, h0, bpe, blevel, nlevels, word0, mipmap_size, radeon_bo_size(texture));
-		return -EINVAL;
  	}
  	return 0;
  }

It fixes ut2004 demo OK, but it spams the logs with 000s of errors.

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


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux