kbuild: detect missing "WITH Linux-syscall-note" for uapi headers
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 25 Jul 2019 08:05:13 +0000 (17:05 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 29 Jul 2019 01:05:41 +0000 (10:05 +0900)
UAPI headers licensed under GPL are supposed to have exception
"WITH Linux-syscall-note" so that they can be included into non-GPL
user space application code.

Unfortunately, people often miss to add it. Break 'make headers'
when any of exported headers lacks the exception note so that the
0-day bot can easily catch it.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/headers_install.sh

index 47f6f3e..bbaf293 100755 (executable)
@@ -23,6 +23,12 @@ TMPFILE=$OUTFILE.tmp
 
 trap 'rm -f $OUTFILE $TMPFILE' EXIT
 
+# SPDX-License-Identifier with GPL variants must have "WITH Linux-syscall-note"
+if [ -n "$(sed -n -e "/SPDX-License-Identifier:.*GPL-/{/WITH Linux-syscall-note/!p}" $INFILE)" ]; then
+       echo "error: $INFILE: missing \"WITH Linux-syscall-note\" for SPDX-License-Identifier" >&2
+       exit 1
+fi
+
 sed -E -e '
        s/([[:space:](])(__user|__force|__iomem)[[:space:]]/\1/g
        s/__attribute_const__([[:space:]]|$)/\1/g