[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