lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170221235218.GA30902@eros>
Date:   Wed, 22 Feb 2017 10:52:18 +1100
From:   "Tobin C. Harding" <me@...in.cc>
To:     Joe Perches <joe@...ches.com>
Cc:     Andy Whitcroft <apw@...onical.com>, linux-kernel@...r.kernel.org
Subject: Re: checkpatch suspected false positive

On Tue, Feb 21, 2017 at 03:19:22PM -0800, Joe Perches wrote:
> On Wed, 2017-02-22 at 10:01 +1100, Tobin C. Harding wrote:
> > Checkpatch may be giving a false positive of type CONST_STRUCT when
> > parsing files in drivers/staging/comedi/drivers.
> > 
> > $ pwd
> > build/kernel/linux-trees/gregKH/staging/
> > 
> > $ cd drivers/staging/comedi/drivers
> > 
> > $ checkpatch --terse --show-types *.c | grep CONST_STRUCT
> > addi_apci_3501.c:97: WARNING:CONST_STRUCT: struct comedi_lrange should normally be const
> > das16.c:972: WARNING:CONST_STRUCT: struct comedi_lrange should normally be const
> > das16.c:1006: WARNING:CONST_STRUCT: struct comedi_lrange should normally be const
> > jr3_pci.c:659: WARNING:CONST_STRUCT: struct comedi_lrange should normally be const
> > jr3_pci.c:667: WARNING:CONST_STRUCT: struct comedi_lrange should normally be const
> > jr3_pci.c:668: WARNING:CONST_STRUCT: struct comedi_lrange should normally be const
> > ni_670x.c:212: WARNING:CONST_STRUCT: struct comedi_lrange should normally be const
> 
> checkpatch is brainless, it just looks for patterns
> that are atypical.
> 
> $ git grep -E "struct\s+comedi_lrange\b" | wc -l
> 223
> $ git grep -E "const\s+struct\s+comedi_lrange\b" | wc -l
> 215
> 
> So, yes, that struct is normally const.
> Normally doesn't mean always or has to be.
> 

Cheers Joe. I'm sure this is not the first time you have explained
that. Would it be a good idea to add some documentation (in
Documentation/process) about checkpatch gotchas. Perhaps we could save
some people some time if every newbie didn't have to make the same
mistakes (or ask the same questions).

The first two could be;

1. Don't fix line over 80 warnings if it does not objectively make the
code more readable (see coding-style.rst, grep for 'Statements longer
than 80 columns').

2. Warning struct foo should normally be const ... description of how
checkpatch decides this warning is necessary.

thanks,
Tobin.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ