linux/scripts
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
coccinelle
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
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
tracing
.gitignore
adjust_autoksyms.sh
asn1_compiler.c ASN.1: Remove unnecessary shadowed local variable 2018-10-29 00:19:41 +09:00
bin2c.c
bloat-o-meter
bootgraph.pl
bpf_helpers_doc.py
cc-can-link.sh
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
cleanfile
cleanpatch
coccicheck
config
conmakehash.c
const_structs.checkpatch
decode_stacktrace.sh
decodecode
depmod.sh
diffconfig
documentation-file-ref-check
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
faddr2line scripts/faddr2line: fix location of start_kernel in comment 2018-11-18 10:15:09 -08:00
file-size.sh
find-unused-docs.sh
gcc-goto.sh
gcc-ld
gcc-plugin.sh
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
get_dvb_firmware
get_maintainer.pl
gfp-translate
headerdep.pl
headers.sh
headers_check.pl
headers_install.sh
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
kernel-doc kernel-doc: fix declaration type determination 2018-10-18 12:20:35 -06:00
ld-version.sh
leaking_addresses.pl
Lindent
link-vmlinux.sh
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
Makefile.dtbinst
Makefile.extrawarn Kbuild updates for v4.20 (2nd) 2018-11-03 10:47:33 -07:00
Makefile.gcc-plugins
Makefile.headersinst
Makefile.host
Makefile.kasan
Makefile.kcov
Makefile.lib kbuild: consolidate Devicetree dtb build rules 2018-10-02 09:23:21 -05:00
Makefile.modbuiltin
Makefile.modinst
Makefile.modpost
Makefile.modsign
Makefile.ubsan
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
objdiff
parse-maintainers.pl
patch-kernel
pnmtologo.c
profile2linkerlist.pl
prune-kernel
recordmcount.c
recordmcount.h
recordmcount.pl
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
sphinx-pre-install
split-man.pl
stackdelta
stackusage
subarch.include
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
xen-hypercalls.sh
xz_wrap.sh