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

Kenneth Graunke kenneth at whitecape.org
Sat Sep 6 00:23:34 PDT 2014


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!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140906/78030ca6/attachment.sig>


More information about the mesa-dev mailing list