smatch: nouveau: bogus compare against zero

Ben Skeggs bskeggs at redhat.com
Mon Dec 20 17:12:12 PST 2010


On Mon, 2010-12-20 at 09:48 +0300, Dan Carpenter wrote:
> Hi Ben,
> 
> This is a new Smatch warning in linux-next.  It comes from: a11c3198c
> "drm/nv50: import new vm code"
Thanks, fix queued in my tree.  Will get to Dave eventually :)

Ben.
> 
> drivers/gpu/drm/nouveau/nv50_vm.c +104 nv50_vm_map(13)
> 	warn: bogus compare against zero: 'i'
> 
>     94          u32 block, i;
>     95
>     96          phys  = nv50_vm_addr(vma, pgt, phys, mem->memtype, 0);
>     97          pte <<= 3;
>     98          cnt <<= 3;
>     99
>    100          while (cnt) {
>    101                  u32 offset_h = upper_32_bits(phys);
>    102                  u32 offset_l = lower_32_bits(phys);
>    103
>    104                  for (i = 7; i >= 0; i--) {
>                                     ^^^^^^
> 
> 	i is unsigned so this test is always true.
> 
>    105                          block = 1 << (i + 3);
>    106                          if (cnt >= block && !(pte & (block - 1)))
>    107                                  break;
>    108                  }
>    109                  offset_l |= (i << 7);
> 
> regards,
> dan carpenter




More information about the dri-devel mailing list