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-next>] [day] [month] [year] [list]
Date:   Tue, 06 Oct 2020 16:13:03 -0700
From:   Joe Perches <joe@...ches.com>
To:     LKML <linux-kernel@...r.kernel.org>
Cc:     Linus Torvalds <torvalds@...ux-foundation.org>,
        Jiri Kosina <trivial@...nel.org>
Subject: git grep/sed to standardize "/* SPDX-License-Identifier: <license>"

Almost all source files in the kernel use a standardized SPDX header
at line 1 with a comment /* initiator and terminator */:

/* SPDX-License-Identifier: <license> */

$ git grep -PHn '^/\* SPDX-License-Identifier:.*\*/\s*$' | \
  wc -l
17847

$ git grep -PHn '^/\* SPDX-License-Identifier:.*\*/\s*$' | \
  grep ":1:" | cut -f1 -d":" | grep -oP '\.\w+$' | \
  sort | uniq -c | sort -rn
  16769 .h
    972 .S
     87 .c
      6 .lds
      3 .l
      2 .y
      2 .py
      2 .dtsi
      1 .sh
      1 .dts
      1 .cpp
      1 .bc

But about 2% of the files do not use a use comment termination at
line 1 and use either:

/* SPDX-License-Identifier: <license>
 * additional comment or blank

or

/* SPDX-License-Identifier: <license>
<blank line>

$ git grep -PHn '^/\* SPDX-License-Identifier:(?!.*\*/\s*$)' | \
  wc -l
407

$ git grep -PHn '^/\* SPDX-License-Identifier:(?!.*\*/\s*$)' | \
  grep '\:1:' | cut -f1 -d':' | grep -oP '\.\w+$' | \
  sort | uniq -c | sort -rn
    357 .h
     34 .S
     16 .c

Here's a trivial script to convert and standardize the
first and second lines of these 407 files to make it easier
to categorize and sort.

$ git grep -PHn '^/\* SPDX-License-Identifier:(?!.*\*/\s*$)' | \
  grep ':1:' | cut -f1 -d":" | \
  xargs sed -i -e '1s@[[:space:]]*$@ */@' -r -e '2s@^( \*|)@/*@'

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ