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: <32aca91e06a12fcc2861184f36c1625227938b77.1510840787.git-series.knut.omang@oracle.com>
Date:   Thu, 16 Nov 2017 18:01:43 +0100
From:   Knut Omang <knut.omang@...cle.com>
To:     linux-kernel@...r.kernel.org
Cc:     Knut Omang <knut.omang@...cle.com>,
        Andy Whitcroft <apw@...onical.com>,
        Joe Perches <joe@...ches.com>
Subject: [PATCH 3/7] checkpatch: Add a few convenience options to disable/modify features

These are options that are useful when running from make, to allow
flags already supplied by make to be overridden (later on the command line)

Add these two options to cancel the effects of --quiet and --ignore-cfg:
--no-quiet
--no-ignore-cfg

Also added:
--req-ignore-cfg:  With --ignore-cfg - treat a nonexistent file as if it
    were an empty file, effectively enforcing a full checkpatch --strict run.
    The default behaviour with --ignore-cfg is not to perform any
    checkpatch checking if an ignore configuration file is not found.
    This was done to enable automated checkpatch runs for directories
    that are "clean" according to the configuration.

Signed-off-by: Knut Omang <knut.omang@...cle.com>
Acked-by: Håkon Bugge <haakon.bugge@...cle.com>
Acked-by: Åsmund Østvold <asmund.ostvold@...cle.com>
---
 scripts/checkpatch.pl | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 834a1d8..387292f 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -20,6 +20,7 @@ my $V = '0.32';
 use Getopt::Long qw(:config no_auto_abbrev);
 
 my $quiet = 0;
+my $no_quiet;
 my $tree = 1;
 my $chk_signoff = 1;
 my $chk_patch = 1;
@@ -49,6 +50,9 @@ my @ignore = ();
 my $help = 0;
 my $configuration_file = ".checkpatch.conf";
 my $ignore_cfg_file;
+my $no_ignore_cfg_file;
+my $req_ignore_cfg_file;
+my $not_defined;
 my $max_line_length = 80;
 my $ignore_perl_version = 0;
 my $minimum_perl_version = 5.10.0;
@@ -70,6 +74,7 @@ Version: $V
 
 Options:
   -q, --quiet                quiet
+  --no-quiet		     Undo the effect of a previous --quiet argument
   --no-tree                  run without a kernel tree
   --no-signoff               do not check for 'Signed-off-by' line
   --patch                    treat FILE as patchfile (default)
@@ -94,6 +99,10 @@ Options:
   --ignore-cfg FILE	     parse this file for a detailed file specific ignore list,
 			     silently exit without checking if an ignore config file
 			     is not found.
+  --req-ignore-cfg	     With --ignore-cfg - if the file is not found, behave as
+			     if the file existed and was empty, which is identical
+			     to a normal run with --strict
+  --no-ignore-cfg	     undo the effect of any previous --ignore-cfg argument
   --show-types               show the specific message type in the output
   --max-line-length=n        set the maximum line length, if exceeded, warn
   --min-conf-desc-length=n   set the min description length, if shorter, warn
@@ -104,6 +113,8 @@ Options:
   --debug KEY=[0|1]          turn on/off debugging of KEY, where KEY is one of
                              'values', 'possible', 'type', and 'attr' (default
                              is all off)
+  --no-errors		     Let checkpatch return status 0 even in presence
+			     of errors.
   --test-only=WORD           report only warnings/errors containing WORD
                              literally
   --fix                      EXPERIMENTAL - may create horrible results
@@ -198,6 +209,7 @@ foreach (@ARGV) {
 
 GetOptions(
 	'q|quiet+'	=> \$quiet,
+	'no-quiet'	=> \$no_quiet,
 	'tree!'		=> \$tree,
 	'signoff!'	=> \$chk_signoff,
 	'patch!'	=> \$chk_patch,
@@ -206,6 +218,8 @@ GetOptions(
 	'showfile!'	=> \$showfile,
 	'f|file!'	=> \$file,
 	'ignore-cfg=s'	=> \$ignore_cfg_file,
+	'no-ignore-cfg!'	=> \$no_ignore_cfg_file,
+	'req-ignore-cfg!'	=> \$req_ignore_cfg_file,
 	'g|git!'	=> \$git,
 	'subjective!'	=> \$check,
 	'strict!'	=> \$check,
@@ -238,6 +252,9 @@ help(0) if ($help);
 
 list_types(0) if ($list_types);
 
+$quiet = 0 if defined($no_quiet);
+$ignore_cfg_file = $not_defined if defined($no_ignore_cfg_file);
+
 # Enforce --strict if used with a ignore configuration file:
 $check = 1 if defined($ignore_cfg_file);
 
@@ -299,7 +316,7 @@ sub hash_show_words {
 	}
 }
 
-parse_ignore_cfg_file(@ARGV) || exit(0);
+parse_ignore_cfg_file(@ARGV) || defined($req_ignore_cfg_file) || exit(0);
 hash_save_array_words(\%ignore_type, \@ignore);
 hash_save_array_words(\%use_type, \@use);
 
-- 
git-series 0.9.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ