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>] [day] [month] [year] [list]
Message-ID: <1428691804.5413.46.camel@perches.com>
Date:	Fri, 10 Apr 2015 11:50:04 -0700
From:	Joe Perches <joe@...ches.com>
To:	LKML <linux-kernel@...r.kernel.org>
Subject: mildly interesting: treewide frequency of various checkpatch
 statistics 2014-03 vs 2015-04

A year ago, I posted some treewide checkpatch statistics
https://lkml.org/lkml/2014/3/10/517
using

$ git ls-files | grep "\.[ch]$"| \
  while read file ; do \
    ./scripts/checkpatch.pl -f --strict --show-types --no-summary --emacs --terse $file ; \
  done | \
  tee -a checkpatch.all

Here's a rerun comparison to next-20150409

The then-current version of checkpatch was used for each run,
so the newer output is slightly more verbose in some types
of errors, especially the "CHECK:SPACING" for spacing around
arithmetic and logic and "CHECK:PARENTHEIS_ALIGNMENT" for
multi-line statements.

Even with the growth of the kernel source code, (33M vs 35M LOC
for .[ch] files) there has been a 5 to 10 % reduction in
several checkpatch message types.

The general upshot is that kernel code is slowly becoming
by one measure stylistically a bit more consistent.

Given the same rate of change, the kernel tree should be
checkpatch clean sometime around 2030.

Or more likely, never...

 2014-03                                                         2015-04

 338739 ERROR:SPACING					      |	 269775 ERROR:SPACING
 241524 WARNING:LONG_LINE				      |	 214863 WARNING:LONG_LINE
 152039 WARNING:LEADING_SPACE				      |	 140150 CHECK:SPACING
 117364 CHECK:CAMELCASE					      |	 130137 WARNING:LEADING_SPACE
  67761 CHECK:PARENTHESIS_ALIGNMENT			      |	 128763 CHECK:PARENTHESIS_ALIGNMENT
  56088 WARNING:SPACING					      |	 103220 CHECK:CAMELCASE
  53673 ERROR:CODE_INDENT				      |	  48791 CHECK:LINE_SPACING
  33378 WARNING:NETWORKING_BLOCK_COMMENT_STYLE		      |	  47649 CHECK:BIT_MACRO
  30981 ERROR:TRAILING_WHITESPACE			      |	  38713 ERROR:CODE_INDENT
  30443 ERROR:C99_COMMENTS				      |	  33239 WARNING:NETWORKING_BLOCK_COMMENT_STYLE
  28698 WARNING:PREFER_PR_LEVEL				      |	  32168 WARNING:SPACING
  27895 CHECK:BRACES					      |	  30586 WARNING:LINE_SPACING
  26928 WARNING:SPACE_BEFORE_TAB			      |	  29186 CHECK:COMPARISON_TO_NULL
  25546 CHECK:AVOID_EXTERNS				      |	  28619 ERROR:TRAILING_WHITESPACE
  25209 WARNING:SPLIT_STRING				      |	  26648 CHECK:BRACES
  21880 CHECK:SPACING					      |	  25588 WARNING:PREFER_PR_LEVEL
  17009 ERROR:COMPLEX_MACRO				      |	  24234 WARNING:SPACE_BEFORE_TAB
  16811 ERROR:POINTER_LOCATION				      |	  24132 CHECK:AVOID_EXTERNS
  13337 ERROR:OPEN_BRACE				      |	  22583 WARNING:SPLIT_STRING
  13331 ERROR:TRAILING_STATEMENTS			      |	  19819 ERROR:COMPLEX_MACRO
  12605 CHECK:FSF_MAILING_ADDRESS			      |	  19288 ERROR:C99_COMMENTS
   9621 WARNING:BRACES					      |	  15039 ERROR:POINTER_LOCATION
   9215 WARNING:NEW_TYPEDEFS				      |	  12270 ERROR:TRAILING_STATEMENTS
   8138 WARNING:SUSPECT_CODE_INDENT			      |	  11173 CHECK:FSF_MAILING_ADDRESS
   8129 WARNING:PRINTK_WITHOUT_KERN_LEVEL		      |	  10805 ERROR:OPEN_BRACE
   7339 CHECK:LOGICAL_CONTINUATIONS			      |	   8611 WARNING:BRACES
   7247 ERROR:ASSIGN_IN_IF				      |	   8473 WARNING:NEW_TYPEDEFS
   6276 CHECK:MULTIPLE_ASSIGNMENTS			      |	   7265 WARNING:PRINTK_WITHOUT_KERN_LEVEL
   6204 WARNING:VOLATILE				      |	   7214 WARNING:SUSPECT_CODE_INDENT
   5262 WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE	      |	   6942 ERROR:ASSIGN_IN_IF
   4224 WARNING:EXPORT_SYMBOL				      |	   6919 CHECK:LOGICAL_CONTINUATIONS
   4164 ERROR:RETURN_PARENTHESES			      |	   6294 CHECK:MULTIPLE_ASSIGNMENTS
   3734 CHECK:ALLOC_SIZEOF_STRUCT			      |	   6220 WARNING:VOLATILE
   3701 CHECK:UNCOMMENTED_DEFINITION			      |	   5136 CHECK:UNNECESSARY_PARENTHESES
   3651 CHECK:USLEEP_RANGE				      |	   5074 WARNING:QUOTED_WHITESPACE_BEFORE_NEWLINE
   3623 CHECK:ARCH_INCLUDE_LINUX			      |	   4039 ERROR:RETURN_PARENTHESES
   3597 WARNING:AVOID_EXTERNS				      |	   3989 CHECK:TYPO_SPELLING
   3241 ERROR:ELSE_AFTER_BRACE				      |	   3957 CHECK:UNCOMMENTED_DEFINITION
   2995 WARNING:MEMORY_BARRIER				      |	   3859 WARNING:EXPORT_SYMBOL
   2338 WARNING:CONSTANT_CONVERSION			      |	   3704 CHECK:ALLOC_SIZEOF_STRUCT
   2298 WARNING:PREFER_PACKED				      |	   3616 CHECK:USLEEP_RANGE
   2165 WARNING:INCLUDE_LINUX				      |	   3395 WARNING:AVOID_EXTERNS
   2032 CHECK:REDUNDANT_CODE				      |	   2875 WARNING:MEMORY_BARRIER
   1898 WARNING:MSLEEP					      |	   2349 WARNING:UNNECESSARY_ELSE
   1884 WARNING:MISSING_BREAK				      |	   2208 WARNING:PREFER_PACKED
   1855 WARNING:PREFER_ETHER_ADDR_COPY			      |	   2074 ERROR:ELSE_AFTER_BRACE
   1839 WARNING:SIZEOF_PARENTHESIS			      |	   2049 WARNING:CONSTANT_CONVERSION
   1793 WARNING:STATIC_CONST_CHAR_ARRAY			      |	   1910 CHECK:REDUNDANT_CODE
   1773 ERROR:BRACKET_SPACE				      |	   1901 CHECK:ARCH_INCLUDE_LINUX
   1664 WARNING:INDENTED_LABEL				      |	   1826 WARNING:STATIC_CONST_CHAR_ARRAY
   1509 WARNING:LINE_CONTINUATIONS			      |	   1807 WARNING:RETURN_VOID
   1376 WARNING:PREFER_SEQ_PUTS				      |	   1804 WARNING:MSLEEP
   1363 WARNING:DEEP_INDENTATION			      |	   1708 ERROR:BRACKET_SPACE
   1316 ERROR:INITIALISED_STATIC			      |	   1691 WARNING:OOM_MESSAGE
   1235 CHECK:BOOL_COMPARISON				      |	   1677 WARNING:SIZEOF_PARENTHESIS
   1181 ERROR:SWITCH_CASE_INDENT_LEVEL			      |	   1622 WARNING:INCLUDE_LINUX
   1156 WARNING:CONSIDER_KSTRTO				      |	   1601 WARNING:INDENTED_LABEL
   1129 ERROR:MULTISTATEMENT_MACRO_USE_DO_WHILE		      |	   1509 WARNING:PREFER_ETHER_ADDR_COPY
    889 WARNING:MISPLACED_INIT				      |	   1491 WARNING:TRAILING_SEMICOLON
    759 CHECK:INVALID_UTF8				      |	   1250 WARNING:LINE_CONTINUATIONS
    730 WARNING:INLINE					      |	   1142 ERROR:INITIALISED_STATIC
    723 WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO		      |	   1115 ERROR:SWITCH_CASE_INDENT_LEVEL
    691 WARNING:CVS_KEYWORD				      |	   1114 ERROR:MULTISTATEMENT_MACRO_USE_DO_WHILE
    632 WARNING:PREFER_ALIGNED				      |	   1101 CHECK:CONCATENATED_STRING
    465 CHECK:UNDOCUMENTED_SETUP			      |	   1071 WARNING:DEEP_INDENTATION
    463 WARNING:CONST_STRUCT				      |	    981 WARNING:CONSIDER_KSTRTO
    400 WARNING:MINMAX					      |	    965 WARNING:PREFER_SEQ_PUTS
    336 WARNING:GCC_BINARY_CONSTANT			      |	    787 CHECK:BOOL_COMPARISON
    311 CHECK:ARCH_DEFINES				      |	    731 WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO
    301 ERROR:INIT_ATTRIBUTE				      |	    721 WARNING:UNDOCUMENTED_DT_STRING
    298 WARNING:PREFER_DEV_LEVEL			      |	    684 WARNING:ALLOC_WITH_MULTIPLY
    286 WARNING:DEFINE_PCI_DEVICE_TABLE			      |	    683 CHECK:INVALID_UTF8
    285 WARNING:NR_CPUS					      |	    679 WARNING:INLINE
    230 WARNING:PRINTF_L				      |	    668 WARNING:CVS_KEYWORD
    222 WARNING:USE_NEGATIVE_ERRNO			      |	    644 WARNING:CONST_STRUCT
    208 WARNING:NEEDLESS_IF				      |	    628 WARNING:MISPLACED_INIT
    206 WARNING:NAKED_SSCANF				      |	    600 WARNING:PREFER_ALIGNED
    200 WARNING:STORAGE_CLASS				      |	    520 WARNING:MISSING_SPACE
    173 WARNING:UNNECESSARY_PARENTHESES			      |	    478 CHECK:UNDOCUMENTED_SETUP
    172 WARNING:PRINTK_RATELIMITED			      |	    451 WARNING:STRING_FRAGMENTS
    147 ERROR:DEFINE_ARCH_HAS				      |	    420 WARNING:GCC_BINARY_CONSTANT
    132 WARNING:USE_DEVICE_INITCALL			      |	    382 WARNING:MACRO_WITH_FLOW_CONTROL
    128 WARNING:DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON	      |	    360 WARNING:SSCANF_TO_KSTRTO
    103 WARNING:LINUX_VERSION_CODE			      |	    356 WARNING:MINMAX
     93 WARNING:JIFFIES_COMPARISON			      |	    342 WARNING:UNNECESSARY_BREAK
     89 WARNING:USE_FUNC				      |	    319 CHECK:ARCH_DEFINES
							      >	    315 WARNING:PREFER_DEV_LEVEL
							      >	    263 WARNING:NR_CPUS
							      >	    230 ERROR:INIT_ATTRIBUTE
							      >	    192 WARNING:STORAGE_CLASS
							      >	    187 WARNING:PRINTF_L
							      >	    169 WARNING:PRINTK_RATELIMITED
							      >	    165 WARNING:NAKED_SSCANF
							      >	    137 WARNING:MISORDERED_TYPE
							      >	    136 WARNING:ARRAY_SIZE
							      >	    136 ERROR:DEFINE_ARCH_HAS
							      >	    126 WARNING:USE_DEVICE_INITCALL
							      >	    126 WARNING:UNNECESSARY_KERN_LEVEL
							      >	    119 WARNING:NEEDLESS_IF
							      >	    111 WARNING:DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON
							      >	    107 WARNING:USE_NEGATIVE_ERRNO
							      >	    107 WARNING:UNNECESSARY_PARENTHESES
     77 WARNING:DEFAULT_NO_BREAK				     77 WARNING:DEFAULT_NO_BREAK
     74 ERROR:FUNCTION_WITHOUT_ARGS			      |	     66 ERROR:INLINE_LOCATION
     68 ERROR:INLINE_LOCATION				      |	     63 ERROR:FUNCTION_WITHOUT_ARGS
     55 WARNING:PREFER_PRINTF				      |	     52 WARNING:PREFER_PRINTF
     52 ERROR:WHILE_AFTER_BRACE				      |	     49 ERROR:WHILE_AFTER_BRACE
     44 WARNING:IN_ATOMIC					     44 WARNING:IN_ATOMIC
     41 ERROR:GLOBAL_INITIALISERS			      |	     43 WARNING:LINUX_VERSION_CODE
     40 WARNING:YIELD					      |	     43 WARNING:JIFFIES_COMPARISON
     39 WARNING:LONG_UDELAY				      |	     39 WARNING:YIELD
     36 WARNING:__GFP_NOFAIL				      |	     38 ERROR:GLOBAL_INITIALISERS
     34 WARNING:MEMSET					      |	     34 WARNING:ONE_SEMICOLON
     34 WARNING:CONSIDER_COMPLETION			      |	     32 WARNING:CONSIDER_COMPLETION
     31 WARNING:ONE_SEMICOLON				      |	     30 WARNING:LONG_UDELAY
     25 WARNING:USLEEP_RANGE				      |	     28 WARNING:MEMSET
     20 ERROR:IN_ATOMIC					      |	     27 ERROR:WEAK_DECLARATION
     12 WARNING:TRAILING_SEMICOLON			      |	     20 WARNING:USLEEP_RANGE
     10 WARNING:UNNECESSARY_CASTS			      |	     18 ERROR:IN_ATOMIC
							      >	     17 WARNING:EXPORTED_WORLD_WRITABLE
							      >	     15 ERROR:EXPORTED_WORLD_WRITABLE
     10 ERROR:NON_OCTAL_PERMISSIONS				     10 ERROR:NON_OCTAL_PERMISSIONS
      8 ERROR:SSYNC						      8 ERROR:SSYNC
      8 ERROR:CSYNC						      8 ERROR:CSYNC
      6 WARNING:USE_SPINLOCK_T					      6 WARNING:USE_SPINLOCK_T
      5 WARNING:KREALLOC_ARG_REUSE			      |	      6 WARNING:UNNECESSARY_CASTS
      5 WARNING:FUNCTION_ARGUMENTS			      |	      6 WARNING:KREALLOC_ARG_REUSE
      4 ERROR:MISPLACED_INIT				      |	      5 WARNING:CONST_CONST
      3 WARNING:HOTPLUG_SECTION				      |	      4 WARNING:MISSING_BREAK
      3 ERROR:LOCKDEP					      |	      4 ERROR:LOCKDEP
      2 WARNING:EXPORTED_WORLD_WRITABLE			      |	      3 WARNING:SIZEOF_ADDRESS
      1 WARNING:SIZEOF_ADDRESS				      |	      3 WARNING:MASK_THEN_SHIFT
      1 WARNING:PREFER_SCANF				      |	      3 WARNING:FUNCTION_ARGUMENTS
      1 ERROR:UAPI_INCLUDE				      |	      3 WARNING:DEFINE_PCI_DEVICE_TABLE
      1 ERROR:MALFORMED_INCLUDE				      |	      2 WARNING:PREFER_SCANF
      1 ERROR:DOS_LINE_ENDINGS				      |	      2 ERROR:UAPI_INCLUDE
							      >	      2 ERROR:MISPLACED_INIT
							      >	      2 ERROR:DATE_TIME
							      >	      1 WARNING:LIKELY_MISUSE


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ