[Mesa-dev] [PATCH 3/3] ra: assert against unsigned underflow in q_total

Connor Abbott cwabbott0 at gmail.com
Sat Sep 6 11:12:31 PDT 2014


On Sat, Sep 6, 2014 at 3:23 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On Friday, September 05, 2014 08:59:32 PM Connor Abbott wrote:
>> q_total should never go below 0 (which is why it's defined as unsigned),
>> and if it does, then something is seriously wrong.
>>
>> Signed-off-by: Connor Abbott <cwabbott0 at gmail.com>
>> ---
>>  src/mesa/program/register_allocate.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/src/mesa/program/register_allocate.c b/src/mesa/program/register_allocate.c
>> index db2be5d..7faf672 100644
>> --- a/src/mesa/program/register_allocate.c
>> +++ b/src/mesa/program/register_allocate.c
>> @@ -434,6 +434,7 @@ decrement_q(struct ra_graph *g, unsigned int n)
>>        unsigned int n2_class = g->nodes[n2].class;
>>
>>        if (n != n2 && !g->nodes[n2].in_stack) {
>> +         assert(g->nodes[n2].q_total >= g->regs->classes[n2_class]->q[n_class]);
>>        g->nodes[n2].q_total -= g->regs->classes[n2_class]->q[n_class];
>>        }
>>     }
>>
>
> Patches 2-3 are:
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
>
> Patch 1 looks reasonable too, but you already have Tom's review on that, and he's the right person anyway :)
>
> Thanks for fixing this, Connor!

Thanks! Can someone add the r-b's and David's Tested-by and push this
series to master?


More information about the mesa-dev mailing list