[Devel] [PATCH 00/39] KASAN backport.
Andrey Ryabinin
aryabinin at odin.com
Mon Aug 24 03:18:50 PDT 2015
paches:
1-2 - fixes compilation with gcc >= 5
3-4 - small bugfixes.
5-11 - misc pathces, clenups mostly, needed
to avoid a lot of confilcts for the rest series.
6 - 39 - KASAN related patches
0001-kernel-use-the-gnu89-standard-explicitly.patch
0002-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch
0003-sched-numa-Fix-initialization-of-sched_domain_topolo.patch
0004-lib-idr.c-fix-out-of-bounds-pointer-dereference.patch
0005-mm-vmalloc-use-wrapper-function-get_vm_area_size-to-.patch
0006-mm-arch-use-NUMA_NO_NODE.patch
0007-MIPS-Use-NUMA_NO_NODE-instead-of-1-for-node-ID.patch
0008-mm-move-slab-related-stuff-from-util.c-to-slab_commo.patch
0009-mm-slub-SLUB_DEBUG-n-use-the-same-alloc-free-hooks-a.patch
0010-MODULE_DEVICE_TABLE-fix-some-callsites.patch
0011-compiler-introduce-__alias-symbol-shortcut.patch
0012-kasan-add-kernel-address-sanitizer-infrastructure.patch
0013-kasan-disable-memory-hotplug.patch
0014-x86_64-add-KASan-support.patch
0015-mm-page_alloc-add-kasan-hooks-on-alloc-and-free-path.patch
0016-mm-slub-introduce-virt_to_obj-function.patch
0017-mm-slub-share-object_err-function.patch
0018-mm-slub-introduce-metadata_access_enable-metadata_ac.patch
0019-mm-slub-add-kernel-address-sanitizer-support-for-slu.patch
0020-fs-dcache-manually-unpoison-dname-after-allocation-t.patch
0021-kmemleak-disable-kasan-instrumentation-for-kmemleak.patch
0022-lib-add-kasan-test-module.patch
0023-x86_64-kasan-add-interceptors-for-memset-memmove-mem.patch
0024-kasan-enable-stack-instrumentation.patch
0025-mm-vmalloc-add-flag-preventing-guard-hole-allocation.patch
0026-mm-vmalloc-pass-additional-vm_flags-to-__vmalloc_nod.patch
0027-kernel-add-support-for-.init_array.-constructors.patch
0028-module-fix-types-of-device-tables-aliases.patch
0029-kasan-enable-instrumentation-of-global-variables.patch
0030-kasan-module-vmalloc-rework-shadow-allocation-for-mo.patch
0031-kasan-module-move-MODULE_ALIGN-macro-into-linux-modu.patch
0032-mm-mempool-poison-elements-backed-by-slab-allocator.patch
0033-mm-mempool.c-kasan-poison-mempool-elements.patch
0034-kasan-Makefile-shut-up-warnings-if-CONFIG_COMPILE_TE.patch
0035-x86-init-Clear-init_level4_pgt-earlier.patch
0036-x86-kasan-Fix-KASAN-shadow-region-page-tables.patch
0037-x86-kasan-Flush-TLBs-after-switching-CR3.patch
0038-x86-kasan-Fix-boot-crash-on-AMD-processors.patch
0039-x86-kasan-Add-message-about-KASAN-being-initialized.patch
Alexander Popov (1):
x86/kasan: Fix KASAN shadow region page tables
Andrew Morton (1):
MODULE_DEVICE_TABLE: fix some callsites
Andrey Ryabinin (30):
lib/idr.c: fix out-of-bounds pointer dereference
mm: move slab related stuff from util.c to slab_common.c
mm: slub: SLUB_DEBUG=n: use the same alloc/free hooks as for
SLUB_DEBUG=y
compiler: introduce __alias(symbol) shortcut
kasan: add kernel address sanitizer infrastructure
kasan: disable memory hotplug
x86_64: add KASan support
mm: page_alloc: add kasan hooks on alloc and free paths
mm: slub: introduce virt_to_obj function
mm: slub: share object_err function
mm: slub: introduce metadata_access_enable()/metadata_access_disable()
mm: slub: add kernel address sanitizer support for slub allocator
fs: dcache: manually unpoison dname after allocation to shut up
kasan's reports
kmemleak: disable kasan instrumentation for kmemleak
lib: add kasan test module
x86_64: kasan: add interceptors for memset/memmove/memcpy functions
kasan: enable stack instrumentation
mm: vmalloc: add flag preventing guard hole allocation
mm: vmalloc: pass additional vm_flags to __vmalloc_node_range()
kernel: add support for .init_array.* constructors
module: fix types of device tables aliases
kasan: enable instrumentation of global variables
kasan, module, vmalloc: rework shadow allocation for modules
kasan, module: move MODULE_ALIGN macro into <linux/moduleloader.h>
mm/mempool.c: kasan: poison mempool elements
kasan: Makefile: shut up warnings if CONFIG_COMPILE_TEST=y
x86/init: Clear 'init_level4_pgt' earlier
x86/kasan: Flush TLBs after switching CR3
x86/kasan: Fix boot crash on AMD processors
x86/kasan: Add message about KASAN being initialized
David Rientjes (1):
mm, mempool: poison elements backed by slab allocator
Jianguo Wu (1):
mm/arch: use NUMA_NO_NODE
Joe Perches (1):
compiler-gcc: integrate the various compiler-gcc[345].h files
Kirill A. Shutemov (1):
kernel: use the gnu89 standard explicitly
Ralf Baechle (1):
MIPS: Use NUMA_NO_NODE instead of -1 for node ID.
Vincent Guittot (1):
sched/numa: Fix initialization of sched_domain_topology for NUMA
Wanpeng Li (1):
mm/vmalloc: use wrapper function get_vm_area_size to caculate size of
vm area
Documentation/kasan.txt | 170 +++++++++
Documentation/x86/x86_64/mm.txt | 3 +
Makefile | 9 +-
arch/arm/kernel/module.c | 2 +-
arch/arm64/kernel/module.c | 4 +-
arch/mips/kernel/module.c | 3 +-
arch/parisc/kernel/module.c | 2 +-
arch/s390/kernel/module.c | 2 +-
arch/sparc/kernel/module.c | 2 +-
arch/x86/Kconfig | 1 +
arch/x86/boot/Makefile | 2 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/boot/compressed/eboot.c | 5 +-
arch/x86/boot/compressed/misc.h | 1 +
arch/x86/include/asm/kasan.h | 27 ++
arch/x86/include/asm/page_64_types.h | 12 +-
arch/x86/include/asm/string_64.h | 18 +-
arch/x86/kernel/Makefile | 4 +
arch/x86/kernel/dumpstack.c | 5 +-
arch/x86/kernel/head64.c | 11 +-
arch/x86/kernel/head_64.S | 1 +
arch/x86/kernel/module.c | 12 +-
arch/x86/kernel/setup.c | 3 +
arch/x86/kernel/x8664_ksyms_64.c | 10 +-
arch/x86/lib/memcpy_64.S | 6 +-
arch/x86/lib/memmove_64.S | 4 +
arch/x86/lib/memset_64.S | 10 +-
arch/x86/mm/Makefile | 3 +
arch/x86/mm/kasan_init_64.c | 243 +++++++++++++
arch/x86/realmode/Makefile | 2 +-
arch/x86/realmode/rm/Makefile | 1 +
arch/x86/vdso/Makefile | 1 +
drivers/net/ethernet/emulex/benet/be_main.c | 1 -
drivers/scsi/be2iscsi/be_main.c | 1 -
fs/dcache.c | 7 +
include/asm-generic/vmlinux.lds.h | 1 +
include/linux/compiler-gcc.h | 121 ++++++-
include/linux/compiler-gcc3.h | 23 --
include/linux/compiler-gcc4.h | 92 -----
include/linux/compiler-gcc5.h | 67 ----
include/linux/init_task.h | 8 +
include/linux/kasan.h | 88 +++++
include/linux/module.h | 2 +-
include/linux/moduleloader.h | 7 +
include/linux/sched.h | 3 +
include/linux/slab.h | 11 +-
include/linux/slub_def.h | 19 +
include/linux/vmalloc.h | 14 +-
kernel/sched/core.c | 2 +-
lib/Kconfig.debug | 2 +
lib/Kconfig.kasan | 54 +++
lib/Makefile | 1 +
lib/idr.c | 25 +-
lib/test_kasan.c | 277 ++++++++++++++
mm/Makefile | 4 +
mm/compaction.c | 2 +
mm/kasan/Makefile | 8 +
mm/kasan/kasan.c | 537 ++++++++++++++++++++++++++++
mm/kasan/kasan.h | 75 ++++
mm/kasan/report.c | 269 ++++++++++++++
mm/kmemleak.c | 6 +
mm/mempool.c | 117 +++++-
mm/page_alloc.c | 3 +
mm/slab_common.c | 104 ++++++
mm/slub.c | 148 +++++---
mm/util.c | 103 ------
mm/vmalloc.c | 29 +-
scripts/Makefile.kasan | 29 ++
scripts/Makefile.lib | 10 +
scripts/module-common.lds | 4 +
70 files changed, 2444 insertions(+), 410 deletions(-)
create mode 100644 Documentation/kasan.txt
create mode 100644 arch/x86/include/asm/kasan.h
create mode 100644 arch/x86/mm/kasan_init_64.c
delete mode 100644 include/linux/compiler-gcc3.h
delete mode 100644 include/linux/compiler-gcc4.h
delete mode 100644 include/linux/compiler-gcc5.h
create mode 100644 include/linux/kasan.h
create mode 100644 lib/Kconfig.kasan
create mode 100644 lib/test_kasan.c
create mode 100644 mm/kasan/Makefile
create mode 100644 mm/kasan/kasan.c
create mode 100644 mm/kasan/kasan.h
create mode 100644 mm/kasan/report.c
create mode 100644 scripts/Makefile.kasan
--
2.4.6
More information about the Devel
mailing list