Thierry Reding
3a6ab5c7dc
scripts/spdxcheck.py: always open files in binary mode
...
The spdxcheck script currently falls over when confronted with a binary
file (such as Documentation/logo.gif). To avoid that, always open files
in binary mode and decode line-by-line, ignoring encoding errors.
One tricky case is when piping data into the script and reading it from
standard input. By default, standard input will be opened in text mode,
so we need to reopen it in binary mode.
The breakage only happens with python3 and results in a
UnicodeDecodeError (according to Uwe).
Link: http://lkml.kernel.org/r/20181212131210.28024-1-thierry.reding@gmail.com
Fixes: 6f4d29df66 ("scripts/spdxcheck.py: make python3 compliant")
Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Jeremy Cline <jcline@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Joe Perches <joe@perches.com>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-12-14 15:05:45 -08:00
..
basic
kbuild: move bin2c back to scripts/ from scripts/basic/
2018-07-18 01:18:05 +09:00
coccinelle
Coccinelle: remove pci_alloc_consistent semantic to detect in zalloc-simple.cocci
2018-08-22 23:21:43 +09:00
dtc
Merge branch 'all-dtbs' into dt/next
2018-10-04 14:16:15 -05:00
gcc-plugins
stackleak: Register the 'stackleak_cleanup' pass before the '*free_cfg' pass
2018-12-06 09:10:23 -08:00
gdb
genksyms
genksyms: remove symbol prefix support
2018-05-17 22:43:35 +09:00
kconfig
kconfig: merge_config: avoid false positive matches from comment lines
2018-11-11 23:04:51 +09:00
ksymoops
mod
Kbuild updates for v4.20
2018-10-28 13:22:35 -07:00
package
builddeb: Fix inclusion of dtbs in debian package
2018-11-11 23:04:53 +09:00
selinux
staging: lustre: delete the filesystem from the tree.
2018-06-05 19:22:35 +02:00
tracing
scripts: Add Python 3 support to tracing/draw_functrace.py
2018-07-29 11:08:38 +09:00
.gitignore
kbuild: move bin2c back to scripts/ from scripts/basic/
2018-07-18 01:18:05 +09:00
adjust_autoksyms.sh
kbuild: remove CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX
2018-05-17 22:44:57 +09:00
asn1_compiler.c
ASN.1: Remove unnecessary shadowed local variable
2018-10-29 00:19:41 +09:00
bin2c.c
kbuild: move bin2c back to scripts/ from scripts/basic/
2018-07-18 01:18:05 +09:00
bloat-o-meter
syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention
2018-04-09 16:47:28 +02:00
bootgraph.pl
bpf_helpers_doc.py
bpf: change eBPF helper doc parsing script to allow for smaller indent
2018-05-17 17:34:43 +02:00
cc-can-link.sh
bpfilter: check compiler capability in Kconfig
2018-06-28 13:36:39 +09:00
check_extable.sh
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl
checkpatch: remove GCC_BINARY_CONSTANT warning
2018-10-31 08:54:13 -07:00
checkstack.pl
checkstack.pl: fix for aarch64
2018-12-14 15:05:45 -08:00
checksyscalls.sh
checkversion.pl
clang-version.sh
kbuild: Add a space after ! to prevent parsing as file pattern
2018-08-22 23:21:40 +09:00
cleanfile
cleanpatch
coccicheck
coccicheck: return proper error code on fail
2018-08-14 08:58:56 +09:00
config
conmakehash.c
const_structs.checkpatch
decode_stacktrace.sh
decodecode
depmod.sh
kbuild: modules_install: warn when missing System.map file
2018-09-09 09:14:07 +09:00
diffconfig
documentation-file-ref-check
scripts/documentation-file-ref-check: ignore sched-pelt false positive
2018-07-02 11:25:00 -06:00
export_report.pl
extract-cert.c
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
extract-vmlinux: Check for uncompressed image as fallback
2018-10-17 08:18:01 +02:00
extract_xc3028.pl
MAINTAINERS & files: Canonize the e-mails I use at files
2018-05-04 06:21:06 -04:00
faddr2line
scripts/faddr2line: fix location of start_kernel in comment
2018-11-18 10:15:09 -08:00
file-size.sh
kbuild: Use ls(1) instead of stat(1) to obtain file size
2018-03-26 02:01:24 +09:00
find-unused-docs.sh
gcc-goto.sh
gcc-ld
gcc-plugin.sh
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
stack-protector: test compiler capability in Kconfig and drop AUTO mode
2018-06-08 18:56:00 +09:00
gcc-x86_64-has-stack-protector.sh
stack-protector: Fix test with 32-bit userland and CONFIG_64BIT=y
2018-06-25 23:21:13 +09:00
get_dvb_firmware
get_maintainer.pl
get_maintainer: allow option --mpath <directory> to read all files in <directory>
2018-08-22 10:52:48 -07:00
gfp-translate
headerdep.pl
headers.sh
headers_check.pl
headers_install.sh
kbuild: Improve portability of some sed invocations
2018-03-26 02:01:18 +09:00
insert-sys-cert.c
kallsyms.c
kallsyms: remove left-over Blackfin code
2018-09-10 22:54:33 +09:00
Kbuild.include
kbuild: remove cc-name variable
2018-11-02 22:49:01 +09:00
Kconfig.include
gcc-plugins: test plugin support in Kconfig and clean up Makefile
2018-06-11 09:16:22 +09:00
kernel-doc
kernel-doc: fix declaration type determination
2018-10-18 12:20:35 -06:00
ld-version.sh
leaking_addresses.pl
leaking_addresses: check if file name contains address
2018-04-07 08:50:34 +10:00
Lindent
link-vmlinux.sh
kbuild: rename LDFLAGS to KBUILD_LDFLAGS
2018-08-24 08:22:08 +09:00
Makefile
kbuild: consolidate Devicetree dtb build rules
2018-10-02 09:23:21 -05:00
Makefile.asm-generic
Makefile.build
x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support
2018-11-28 11:57:03 +01:00
Makefile.clean
kbuild: remove deprecated host-progs variable
2018-08-09 21:51:17 +09:00
Makefile.dtbinst
Makefile.extrawarn
Kbuild updates for v4.20 (2nd)
2018-11-03 10:47:33 -07:00
Makefile.gcc-plugins
gcc-plugins: Add STACKLEAK plugin for tracking the kernel stack
2018-09-04 10:35:47 -07:00
Makefile.headersinst
Makefile.host
kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS
2018-07-18 01:18:05 +09:00
Makefile.kasan
Makefile.kcov
kcov: test compiler capability in Kconfig and correct dependency
2018-06-11 09:14:08 +09:00
Makefile.lib
kbuild: consolidate Devicetree dtb build rules
2018-10-02 09:23:21 -05:00
Makefile.modbuiltin
Kbuild: Makefile.modbuiltin: include auto.conf and tristate.conf mandatory
2018-08-03 00:47:00 +09:00
Makefile.modinst
kbuild: remove duplicated comments about PHONY
2018-07-06 22:04:03 +09:00
Makefile.modpost
kbuild: rename LDFLAGS to KBUILD_LDFLAGS
2018-08-24 08:22:08 +09:00
Makefile.modsign
kbuild: remove duplicated comments about PHONY
2018-07-06 22:04:03 +09:00
Makefile.ubsan
lib/ubsan: remove null-pointer checks
2018-08-10 20:19:58 -07:00
makelst
markup_oops.pl
mkcompile_h
mkmakefile
kbuild: simplify command line creation in scripts/mkmakefile
2018-10-04 22:56:02 +09:00
mksysmap
mkuboot.sh
module-common.lds
namespace.pl
kbuild: rename built-in.o to built-in.a
2018-03-26 02:01:19 +09:00
objdiff
parse-maintainers.pl
patch-kernel
pnmtologo.c
profile2linkerlist.pl
prune-kernel
recordmcount.c
scripts: Fixed printf format mismatch
2018-05-29 22:04:12 +09:00
recordmcount.h
scripts: Fixed printf format mismatch
2018-05-29 22:04:12 +09:00
recordmcount.pl
nds32/ftrace: Add RECORD_MCOUNT support
2018-09-04 14:45:18 +08:00
setlocalversion
Revert "scripts/setlocalversion: git: Make -dirty check more robust"
2018-11-11 23:04:52 +09:00
show_delta
sign-file.c
sortextable.c
sortextable.h
spdxcheck.py
scripts/spdxcheck.py: always open files in binary mode
2018-12-14 15:05:45 -08:00
spelling.txt
treewide: correct "differenciate" and "instanciate" typos
2018-08-23 18:48:43 -07:00
sphinx-pre-install
split-man.pl
MAINTAINERS & files: Canonize the e-mails I use at files
2018-05-04 06:21:06 -04:00
stackdelta
stackusage
subarch.include
selftests: add headers_install to lib.mk
2018-09-05 08:12:09 -06:00
tags.sh
scripts/tags.sh: add DECLARE_HASHTABLE()
2018-10-26 16:25:18 -07:00
unifdef.c
unifdef: use memcpy instead of strncpy
2018-11-30 14:45:01 -08:00
ver_linux
ver_linux: Do not check for ver_linux pattern in version function
2018-07-07 17:44:52 +02:00
xen-hypercalls.sh
xz_wrap.sh