linux/scripts
Mark Rutland 0cf264b313 locking/atomics: Check atomic headers with sha1sum
We currently check the atomic headers at build-time to ensure they
haven't been modified directly, and these checks require regenerating
the headers in full. As this takes a few seconds, even when
parallelized, this is too slow to run for every kernel build.

Instead, we can generate a hash of each header as we generate them,
which we can cheaply check at build time (~0.16s for all headers).

This patch does so, updating headers with their hashes using the new
gen-atomics.sh script. As some users apparently build the kernel wihout
coreutils, lacking sha1sum, the checks are skipped in this case.
Presumably, most developers have a working coreutils installation.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: anders.roxell@linaro.org
Cc: linux-kernel@vger.kernel.rg
Cc: naresh.kamboju@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-02-13 08:07:31 +01:00
..
atomic locking/atomics: Check atomic headers with sha1sum 2019-02-13 08:07:31 +01:00
basic kbuild: simplify dependency generation for CONFIG_TRIM_UNUSED_KSYMS 2018-12-01 23:13:14 +09:00
coccinelle dma-mapping: remove dma_zalloc_coherent() 2019-01-08 07:58:49 -05:00
dtc Merge branch 'yaml-bindings-for-v4.21' into dt/next 2018-12-13 11:20:36 -06:00
gcc-plugins gcc-plugins: arm_ssp_per_task_plugin: fix for GCC 9+ 2019-01-20 14:06:40 -08:00
gdb scripts/gdb: fix lx-version string output 2019-01-04 13:13:47 -08:00
genksyms
kconfig kconfig: clean generated *conf-cfg files 2019-01-14 10:37:09 +09:00
ksymoops
mod x86, modpost: Replace last remnants of RETPOLINE with CONFIG_RETPOLINE 2019-01-09 10:35:56 +01:00
package kbuild: remove redundant 'set -e' from cmd_* defines 2018-12-01 23:13:14 +09:00
selinux genheaders: %-<width>s had been there since v6; %-*s - since v7 2018-12-10 03:40:11 -05:00
tracing
.gitignore scripts: remove unnecessary ihex2fw and check-lc_ctypes from .gitignore 2018-12-22 00:37:52 +09:00
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 bloat-o-meter: ignore __addressable_ symbols 2018-12-28 12:11:44 -08:00
bootgraph.pl
bpf_helpers_doc.py
cc-can-link.sh
check_extable.sh
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl checkpatch: add Co-developed-by to signature tags 2019-01-04 13:13:48 -08:00
checkstack.pl scripts/checkstack.pl: dynamic stack growth for aarch64 2018-12-28 12:11:44 -08:00
checksyscalls.sh parisc: syscalls: ignore nfsservctl for other architectures 2018-12-10 08:26:04 +01:00
checkversion.pl
clang-version.sh
cleanfile
cleanpatch
coccicheck
config
conmakehash.c
const_structs.checkpatch
decode_stacktrace.sh scripts/decode_stacktrace: only strip base path when a prefix of the path 2018-12-28 12:11:44 -08:00
decodecode scripts/decodecode: set ARCH when running natively on arm/arm64 2018-12-28 12:11:44 -08:00
depmod.sh kbuild: modules_install: warn when missing System.map file 2018-09-09 09:14:07 +09:00
diffconfig
documentation-file-ref-check
export_report.pl
extract_xc3028.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
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 jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
gcc-ld
gcc-plugin.sh
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_compile_commands.py scripts: add a tool to produce a compile_commands.json file 2018-12-19 23:41:36 +09:00
gen_ksymdeps.sh kbuild: simplify dependency generation for CONFIG_TRIM_UNUSED_KSYMS 2018-12-01 23:13:14 +09:00
get_dvb_firmware
get_maintainer.pl
gfp-translate
headerdep.pl
headers_check.pl
headers_install.sh
headers.sh
insert-sys-cert.c
kallsyms.c kallsyms: lower alignment on ARM 2019-01-06 09:46:51 +09:00
Kbuild.include kbuild: remove unused baseprereq 2019-01-14 12:19:40 +09:00
Kconfig.include
kernel-doc scripts/kernel-doc: Fix struct and struct field attribute processing 2018-11-25 12:35:45 -07:00
ld-version.sh
leaking_addresses.pl
Lindent
link-vmlinux.sh
Makefile kbuild: descend into scripts/gcc-plugins/ via scripts/Makefile 2018-12-01 23:09:38 +09:00
Makefile.asm-generic kbuild: generate asm-generic wrappers if mandatory headers are missing 2019-01-06 09:46:51 +09:00
Makefile.build Kbuild updates for v4.21 2018-12-29 12:03:17 -08:00
Makefile.clean
Makefile.dtbinst
Makefile.extrawarn Kbuild updates for v4.20 (2nd) 2018-11-03 10:47:33 -07:00
Makefile.gcc-plugins Kbuild updates for v4.21 2018-12-29 12:03:17 -08:00
Makefile.headersinst kbuild: generate asm-generic wrappers if mandatory headers are missing 2019-01-06 09:46:51 +09:00
Makefile.host
Makefile.kasan kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS 2018-12-28 12:11:43 -08:00
Makefile.kcov
Makefile.lib kbuild: change filechk to surround the given command with { } 2019-01-06 09:46:51 +09: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 scripts/recordmcount.{c,pl}: support -ffunction-sections .text.* section names 2018-12-08 20:54:08 -05:00
recordmcount.h
recordmcount.pl scripts/recordmcount.{c,pl}: support -ffunction-sections .text.* section names 2018-12-08 20:54:08 -05:00
setlocalversion scripts/setlocalversion: Improve -dirty check with git-status --no-optional-locks 2018-11-21 23:57:33 +09:00
show_delta
sign-file.c
sortextable.c
sortextable.h
spdxcheck-test.sh scripts: add spdxcheck.py self test 2018-12-28 12:11:44 -08:00
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 selftests: add headers_install to lib.mk 2018-09-05 08:12:09 -06:00
tags.sh scripts/tags.sh: add more declarations 2018-12-28 12:11:44 -08: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