Andrey Ryabinin
7771bdbbfd
kasan: remove use after scope bugs detection.
...
Use after scope bugs detector seems to be almost entirely useless for
the linux kernel. It exists over two years, but I've seen only one
valid bug so far [1]. And the bug was fixed before it has been
reported. There were some other use-after-scope reports, but they were
false-positives due to different reasons like incompatibility with
structleak plugin.
This feature significantly increases stack usage, especially with GCC <
9 version, and causes a 32K stack overflow. It probably adds
performance penalty too.
Given all that, let's remove use-after-scope detector entirely.
While preparing this patch I've noticed that we mistakenly enable
use-after-scope detection for clang compiler regardless of
CONFIG_KASAN_EXTRA setting. This is also fixed now.
[1] http://lkml.kernel.org/r/ <20171129052106.rhgbjhhis53hkgfn@wfg-t540p.sh.intel.com>
Link: http://lkml.kernel.org/r/20190111185842.13978-1-aryabinin@virtuozzo.com
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Acked-by: Will Deacon <will.deacon@arm.com> [arm64]
Cc: Qian Cai <cai@lca.pw>
Cc: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-03-05 21:07:13 -08: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
kasan: remove use after scope bugs detection.
2019-03-05 21:07:13 -08:00
gdb
scripts/gdb: fix lx-version string output
2019-01-04 13:13:47 -08:00
genksyms
genksyms: remove symbol prefix support
2018-05-17 22:43:35 +09:00
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
scripts: Add Python 3 support to tracing/draw_functrace.py
2018-07-29 11:08:38 +09:00
.gitignore
scripts: remove unnecessary ihex2fw and check-lc_ctypes from .gitignore
2018-12-22 00:37:52 +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
bloat-o-meter: ignore __addressable_ symbols
2018-12-28 12:11:44 -08: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: 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
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
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
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
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
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
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
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: Handle too long symbols in kallsyms.c
2019-01-28 13:02:09 +09:00
Kbuild.include
kbuild: remove unused baseprereq
2019-01-14 12:19:40 +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
scripts/kernel-doc: Fix struct and struct field attribute processing
2018-11-25 12:35:45 -07: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: 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
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
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
kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS
2018-07-18 01:18:05 +09:00
Makefile.kasan
kasan: remove use after scope bugs detection.
2019-03-05 21:07:13 -08:00
Makefile.kcov
kcov: test compiler capability in Kconfig and correct dependency
2018-06-11 09:14:08 +09:00
Makefile.lib
kbuild: change filechk to surround the given command with { }
2019-01-06 09:46:51 +09: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/recordmcount.{c,pl}: support -ffunction-sections .text.* section names
2018-12-08 20:54:08 -05:00
recordmcount.h
scripts: Fixed printf format mismatch
2018-05-29 22:04:12 +09:00
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
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 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
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