mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
KASan uses constructors for initializing redzones for global variables. Globals instrumentation in GCC 4.9.2 produces constructors with priority (.init_array.00099) Currently kernel ignores such constructors. Only constructors with default priority supported (.init_array) This patch adds support for constructors with priorities. For kernel image we put pointers to constructors between __ctors_start/__ctors_end and do_ctors() will call them on start up. For modules we merge .init_array.* sections into resulting .init_array. Module code properly handles constructors in .init_array section. Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Konstantin Serebryany <kcc@google.com> Cc: Dmitry Chernenkov <dmitryc@google.com> Signed-off-by: Andrey Konovalov <adech.fo@gmail.com> Cc: Yuri Gribov <tetra2005@gmail.com> Cc: Konstantin Khlebnikov <koct9i@gmail.com> Cc: Sasha Levin <sasha.levin@oracle.com> Cc: Christoph Lameter <cl@linux.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Christoph Lameter <cl@linux.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
basic | ||
coccinelle | ||
dtc | ||
genksyms | ||
kconfig | ||
ksymoops | ||
mod | ||
package | ||
rt-tester | ||
selinux | ||
tracing | ||
.gitignore | ||
analyze_suspend.py | ||
asn1_compiler.c | ||
bloat-o-meter | ||
bootgraph.pl | ||
checkincludes.pl | ||
checkkconfigsymbols.py | ||
checkpatch.pl | ||
checkstack.pl | ||
checksyscalls.sh | ||
checkversion.pl | ||
cleanfile | ||
cleanpatch | ||
coccicheck | ||
config | ||
conmakehash.c | ||
decode_stacktrace.sh | ||
decodecode | ||
depmod.sh | ||
diffconfig | ||
docproc.c | ||
export_report.pl | ||
extract-ikconfig | ||
extract-vmlinux | ||
gcc-goto.sh | ||
gcc-ld | ||
gcc-version.sh | ||
gcc-x86_32-has-stack-protector.sh | ||
gcc-x86_64-has-stack-protector.sh | ||
gen_initramfs_list.sh | ||
get_maintainer.pl | ||
gfp-translate | ||
headerdep.pl | ||
headers.sh | ||
headers_check.pl | ||
headers_install.sh | ||
kallsyms.c | ||
Kbuild.include | ||
kernel-doc | ||
ld-version.sh | ||
Lindent | ||
link-vmlinux.sh | ||
Makefile | ||
Makefile.asm-generic | ||
Makefile.build | ||
Makefile.clean | ||
Makefile.dtbinst | ||
Makefile.extrawarn | ||
Makefile.fwinst | ||
Makefile.headersinst | ||
Makefile.help | ||
Makefile.host | ||
Makefile.kasan | ||
Makefile.lib | ||
Makefile.modbuiltin | ||
Makefile.modinst | ||
Makefile.modpost | ||
Makefile.modsign | ||
makelst | ||
markup_oops.pl | ||
mkcompile_h | ||
mkmakefile | ||
mksysmap | ||
mkuboot.sh | ||
mkversion | ||
module-common.lds | ||
namespace.pl | ||
objdiff | ||
patch-kernel | ||
pnmtologo.c | ||
profile2linkerlist.pl | ||
recordmcount.c | ||
recordmcount.h | ||
recordmcount.pl | ||
setlocalversion | ||
show_delta | ||
sign-file | ||
sortextable.c | ||
sortextable.h | ||
spelling.txt | ||
tags.sh | ||
unifdef.c | ||
ver_linux | ||
xz_wrap.sh |