[PATCH] drm/radeon/kms: fix nsample tracking in r6xx/r7xx CS tracker

Jerome Glisse glisse at freedesktop.org
Mon Aug 16 06:54:01 PDT 2010


On 08/16/2010 09:22 AM, Alex Deucher wrote:
> On Mon, Aug 16, 2010 at 9:19 AM, Jerome Glisse <glisse at freedesktop.org> wrote:
>> On 08/13/2010 12:48 AM, Alex Deucher wrote:
>>> Initialize nsamples to 1 in case userspace does not emit
>>> PA_SC_AA_CONFIG.
>>>
>>> Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
>>> Cc: Andre Maasikas <amaasikas at gmail.com>
>>> ---
>>>  drivers/gpu/drm/radeon/r600_cs.c |    1 +
>>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
>>> index 8e165b2..b03f93b 100644
>>> --- a/drivers/gpu/drm/radeon/r600_cs.c
>>> +++ b/drivers/gpu/drm/radeon/r600_cs.c
>>> @@ -163,6 +163,7 @@ static void r600_cs_track_init(struct r600_cs_track *track)
>>>       track->db_depth_size = 0xFFFFFFFF;
>>>       track->db_depth_size_idx = 0;
>>>       track->db_depth_control = 0xFFFFFFFF;
>>> +     track->nsamples = 1;
>>>  }
>>>
>>>  static inline int r600_cs_track_validate_cb(struct radeon_cs_parser *p, int i)
>>
>> I would NAK this one, accepting such things pretty much defeat the idea
>> of checker, i think userspace should always set nsamples as otherwise it
>> might trick kernel and overwritte others memory. ie:
>> cs1 set nsample 8 & all others properly so cs1 is accepted
>> cs2 don't set nsample but bind a smaller bo and so can overwritte others
>> buffer
> 
> Unfortunately, existing userspace already sends buffers without this
> reg set. It's just that prior to tiling we didn't care what it was set
> to.
> 
> Alex

I guess once again we hit by our own fault of prematurely going out of
staging.

Jerome



More information about the dri-devel mailing list