Andrey Ryabinin
bebf56a1b1
kasan: enable instrumentation of global variables
...
This feature let us to detect accesses out of bounds of global variables.
This will work as for globals in kernel image, so for globals in modules.
Currently this won't work for symbols in user-specified sections (e.g.
__init, __read_mostly, ...)
The idea of this is simple. Compiler increases each global variable by
redzone size and add constructors invoking __asan_register_globals()
function. Information about global variable (address, size, size with
redzone ...) passed to __asan_register_globals() so we could poison
variable's redzone.
This patch also forces module_alloc() to return 8*PAGE_SIZE aligned
address making shadow memory handling (
kasan_module_alloc()/kasan_module_free() ) more simple. Such alignment
guarantees that each shadow page backing modules address space correspond
to only one module_alloc() allocation.
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>
2015-02-13 21:21:42 -08:00
..
basic
kernel: build bin2c based on config option CONFIG_BUILD_BIN2C
2014-08-08 15:57:32 -07:00
coccinelle
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2014-12-20 13:33:03 -08:00
dtc
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
genksyms
genksyms: fix typeof() handling
2014-04-03 16:20:52 -07:00
kconfig
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2014-12-20 13:31:14 -08:00
ksymoops
mod
arm64 updates for 3.18:
2014-10-08 05:34:24 -04:00
package
scripts/package: binrpm-pkg do not create source and devel package
2014-12-08 13:11:22 +01:00
rt-tester
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
selinux
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
tracing
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
.gitignore
bin2c: move bin2c in scripts/basic
2014-08-08 15:57:32 -07:00
analyze_suspend.py
PM / tools: analyze_suspend.py: update to v3.0
2014-08-09 02:47:58 +02:00
asn1_compiler.c
X.509: silence asn1 compiler debug output
2015-01-23 12:10:39 +00:00
bloat-o-meter
bloat-o-meter: Ignore syscall aliases SyS_ and compat_SyS_
2014-08-23 13:08:48 -07:00
bootgraph.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
checkincludes.pl
checkkconfigsymbols.py
checkkconfigsymbols.py: improve detection of defects
2014-11-08 20:50:43 -08:00
checkpatch.pl
checkpatch: add of_device_id to structs that should be const
2015-02-13 21:21:40 -08:00
checkstack.pl
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2014-10-07 21:16:26 -04:00
checksyscalls.sh
scripts/checksyscalls.sh: Make renameat optional
2014-05-20 10:59:38 +02:00
checkversion.pl
cleanfile
cleanpatch
coccicheck
config
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
conmakehash.c
kbuild: trivial - remove trailing spaces
2014-04-30 17:34:32 +02:00
decode_stacktrace.sh
decode_stacktrace: make stack dump output useful again
2014-06-10 15:29:43 -07:00
decodecode
depmod.sh
diffconfig
docproc.c
kbuild: trivial - use tabs for code indent where possible
2014-06-10 14:00:53 +02:00
export_report.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
extract-ikconfig
extract-vmlinux
gcc-goto.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-ld
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-version.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-x86_32-has-stack-protector.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gcc-x86_64-has-stack-protector.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
gen_initramfs_list.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
get_maintainer.pl
scripts: Teach get_maintainer.pl about the new "R:" tag
2014-07-08 14:47:17 -07:00
gfp-translate
headerdep.pl
headers.sh
CRIS: Fix headers_install
2014-12-20 00:01:12 +01:00
headers_check.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
headers_install.sh
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2014-10-14 09:22:26 +02:00
kallsyms.c
aarch64: filter $x from kallsyms
2014-10-02 17:01:51 +01:00
Kbuild.include
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2014-12-20 13:31:14 -08:00
kernel-doc
scripts/kernel-doc: don't eat struct members with __aligned
2014-12-10 17:41:02 -08:00
ld-version.sh
Lindent
link-vmlinux.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
Makefile
bin2c: move bin2c in scripts/basic
2014-08-08 15:57:32 -07:00
Makefile.asm-generic
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
Makefile.build
ftrace: allow architectures to specify ftrace compile options
2015-01-29 09:19:19 +01:00
Makefile.clean
kbuild: Fix removal of the debian/ directory
2015-01-02 14:51:27 +01:00
Makefile.dtbinst
dts, kbuild: Implement support for dtb vendor subdirs
2014-10-21 18:06:59 +02:00
Makefile.extrawarn
kbuild, LLVMLinux: Supress warnings unless W=1-3
2014-08-05 15:40:01 +02:00
Makefile.fwinst
kbuild: remove obj-n and lib-n handling
2014-10-02 13:55:02 +02:00
Makefile.headersinst
kbuild: collect shorthands into scripts/Kbuild.include
2014-11-26 14:36:52 +01:00
Makefile.help
Makefile.host
kbuild: handle the dependency of multi-objs hostprogs appropriately
2014-08-19 10:26:20 +02:00
Makefile.kasan
kasan: enable instrumentation of global variables
2015-02-13 21:21:42 -08:00
Makefile.lib
kasan: add kernel address sanitizer infrastructure
2015-02-13 21:21:40 -08:00
Makefile.modbuiltin
Makefile.modinst
kbuild: handle module compression while running 'make modules_install'.
2014-08-27 21:54:12 +09:30
Makefile.modpost
Makefile.modsign
modsign: lookup lines ending in .ko in .mod files
2014-08-27 21:54:11 +09:30
makelst
markup_oops.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
mkcompile_h
kbuild: trivial - remove trailing spaces
2014-04-30 17:34:32 +02:00
mkmakefile
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
mksysmap
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
mkuboot.sh
mkversion
module-common.lds
kernel: add support for .init_array.* constructors
2015-02-13 21:21:42 -08:00
namespace.pl
objdiff
scripts: objdiff: support directories for the augument of record command
2014-06-10 14:59:33 +02:00
patch-kernel
kbuild: trivial - remove trailing spaces
2014-04-30 17:34:32 +02:00
pnmtologo.c
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
profile2linkerlist.pl
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00
recordmcount.c
s390/ftrace,kprobes: allow to patch first instruction
2014-10-27 13:27:27 +01:00
recordmcount.h
recordmcount/MIPS: Fix possible incorrect mcount_loc table entries in modules
2014-06-26 10:48:19 +01:00
recordmcount.pl
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2015-02-11 17:42:32 -08:00
setlocalversion
show_delta
kbuild: trivial - remove trailing empty lines
2014-06-10 00:04:06 +02:00
sign-file
treewide: fix errors in printk
2014-09-01 11:18:25 +02:00
sortextable.c
xtensa: enable sorting extable at build time
2014-04-02 01:35:50 +04:00
sortextable.h
scripts/sortextable: suppress warning: `relocs_size' may be used uninitialized
2014-10-14 02:18:23 +02:00
spelling.txt
checkpatch: look for common misspellings
2014-10-14 02:18:15 +02:00
tags.sh
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2014-10-14 09:27:48 +02:00
unifdef.c
ver_linux
xz_wrap.sh
kbuild: Make scripts executable
2014-08-20 16:03:45 +02:00