On 08/11/2017 01:15 PM, Dan Carpenter wrote:
> Hello Benjamin Herrenschmidt,
> 
> This is a semi-automatic email about new static checker warnings.
> 
> The patch 424de9c6e3f8: "powerpc/mm/radix: Avoid flushing the PWC on 
> every flush_tlb_range" from Jul 19, 2017, leads to the following 
> Smatch complaint:
> 
> arch/powerpc/mm/tlb-radix.c:368 radix__flush_tlb_collapsed_pmd()
>        error: we previously assumed 'mm' could be null (see line 362)
> 
> arch/powerpc/mm/tlb-radix.c
>    361        
>    362                pid = mm ? mm->context.id : 0;
>                       ^^
> Check for NULL.
> 
>    363                if (unlikely(pid == MMU_NO_CONTEXT))
>    364                        goto no_context;
>    365        
>    366                /* 4k page size, just blow the world */
>    367                if (PAGE_SIZE == 0x1000) {
>    368                        radix__flush_all_mm(mm);
>                                             ^^
> Unchecked dereference.

Appears to be a false positive. MMU_NO_CONTEXT I believe is defined as "0". So, 
maybe it
would be clearer that we take the goto branch if this line read:

362             pid = mm ? mm->context.id : MMU_NO_CONTEXT;

-Tyrel

> 
>    369                        return;
>    370                }
> 
> regards,
> dan carpenter
> 

Reply via email to