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] [thread-next>] [day] [month] [year] [list]
Message-ID: <88a1d1be-cd31-bbaa-3d8d-d7706fcf5e4f@broadcom.com>
Date:   Wed, 10 Jun 2020 16:22:42 -0700
From:   Scott Branden <scott.branden@...adcom.com>
To:     Joe Perches <joe@...ches.com>, Andy Whitcroft <apw@...onical.com>
Cc:     BCM Kernel Feedback <bcm-kernel-feedback-list@...adcom.com>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] checkpatch: ignore CamelCase for inttypes.h format
 specifiers

Hi Joe,

On 2020-06-10 3:22 p.m., Joe Perches wrote:
> On Wed, 2020-06-10 at 14:48 -0700, Scott Branden wrote:
>> On 2020-06-10 2:09 p.m., Joe Perches wrote:
>>> On Wed, 2020-06-10 at 13:33 -0700, Scott Branden wrote:
>>>> Ignore CamelCase for inttypes.h for fixed integer types format specifiers.
>>>> (ex. PRIx32 for uint32_t).
>>> Personally, I don't like those.
>> Checkpatch is run against a lot of code outside of the linux kernel but
>> following linux coding style.
> I know.  I don't have any strong feeling about this either.
>
> But _this_ checkpatch is specifically for the linux-kernel.
>
> I just don't want to encourage a bunch of uses of these
> somewhat useless defines internal to linux-kernel sources.
It is already used in various code in the linux-kernel tree for tools to 
work properly on different cpu architectures.
Use of inttypes.h does have its place.
So _this_ checkpatch shouldn't be complaining about them in the linux 
repo either?
>> There is nothing personal about this, they are the format specifiers in
>> inttypes.h for fixed width types .
> True.  It's impersonal to me too.
>
>>>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
>>>> @@ -5157,6 +5157,8 @@ sub process {
>>>>    			    $var =~ /[A-Z][a-z]|[a-z][A-Z]/ &&
>>>>    #Ignore Page<foo> variants
>>>>    			    $var !~ /^(?:Clear|Set|TestClear|TestSet|)Page[A-Z]/ &&
>>>> +#Ignore inttypes.h scanf/printf format specifiers for fixed size integer types
>>>> +			    $var !~ /^(?:PRI|SCN)[dxoui](8|16|32|64|PTR|MAX)?$/ &&
> There are missing format specifiers.
> If this is done, the test should be against a variable
>
> Something like:
>
> our $inttype_format = qr{(?x:
> 		(?:PRI|SCN)
> 		[diouxX]
> 		(?:FAST|LEAST)?
> 		(?:8|16|32|64|MAX|PTR)
> };
>
> btw: what about 24, 48, 96, 128 and 256?
>
>>>>    #Ignore SI style variants like nS, mV and dB
>>>>    #(ie: max_uV, regulator_min_uA_show, RANGE_mA_VALUE)
>>>>    			    $var !~ /^(?:[a-z0-9_]*|[A-Z0-9_]*)?_?[a-z][A-Z](?:_[a-z0-9_]+|_[A-Z0-9_]+)?$/ &&

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ