2018-11-06 16:39:56

by Russell King (Oracle)

[permalink] [raw]
Subject: Re: linux-4.20-rc1/arch/arm/vfp/vfpmodule.c:576: possible cut'n'paste error

On Tue, Nov 06, 2018 at 04:33:26PM +0000, David Binderman wrote:
> hello there Russell,
>
> > linux-4.20-rc1/arch/arm/vfp/vfpmodule.c:576]: (warning) Redundant assignment of >'ufp_exc->fpinst2' to itself.
>
> >Thanks for the report - it most certainly is a bug introduced by
> >Julien's patches, but I don't get your warning here.? Which compiler
> >produces that warning?
>
> Not a compiler, cppcheck, a static analyser for C and C++ code.
>
> Interestingly, more of the same in file linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c
>
> [linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c:84]: (warning) Redundant assignment of 'ASCR' to itself.
> [linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c:85]: (warning) Redundant assignment of 'ARSR' to itself.
> [linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c:120]: (warning) Redundant assignment of 'ASCR' to itself.
> [linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c:121]: (warning) Redundant assignment of 'ARSR' to itself.
>
> I don't know if these four are also worth fixing.

There are cases where this can be false positives. In the case of a
status register with write-1-to-clear bits for example. These ones
look very much like that.

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up


2018-11-10 17:55:27

by Robert Jarzmik

[permalink] [raw]
Subject: Re: linux-4.20-rc1/arch/arm/vfp/vfpmodule.c:576: possible cut'n'paste error

Russell King - ARM Linux <[email protected]> writes:

>> Interestingly, more of the same in file linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c
>>
>> [linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c:84]: (warning) Redundant assignment of 'ASCR' to itself.
>> [linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c:85]: (warning) Redundant assignment of 'ARSR' to itself.
>> [linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c:120]: (warning) Redundant assignment of 'ASCR' to itself.
>> [linux-4.20-rc1/arch/arm/mach-pxa/pxa3xx.c:121]: (warning) Redundant assignment of 'ARSR' to itself.
>>
>> I don't know if these four are also worth fixing.
>
> There are cases where this can be false positives. In the case of a
> status register with write-1-to-clear bits for example. These ones
> look very much like that.
And indeed they are, for bits 2,1,0 for ASCR and 3,2,1,0 for ARSR, and you
guessed correctly they are partly status registers.

If only your checker could filter out __iomem tagged pointers, you could have
far less of these false positives ...

Cheers.

--
Robert