1. 21 May, 2018 1 commit
    • Jason A. Donenfeld's avatar
      arm64: export tishift functions to modules · 255845fc
      Jason A. Donenfeld authored
      
      
      Otherwise modules that use these arithmetic operations will fail to
      link. We accomplish this with the usual EXPORT_SYMBOL, which on most
      architectures goes in the .S file but the ARM64 maintainers prefer that
      insead it goes into arm64ksyms.
      
      While we're at it, we also fix this up to use SPDX, and I personally
      choose to relicense this as GPL2||BSD so that these symbols don't need
      to be export_symbol_gpl, so all modules can use the routines, since
      these are important general purpose compiler-generated function calls.
      
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Reported-by: default avatarPaX Team <pageexec@freemail.hu>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      255845fc
  2. 06 Feb, 2018 1 commit
  3. 28 Mar, 2017 1 commit
  4. 03 Feb, 2017 1 commit
  5. 26 Jul, 2016 1 commit
  6. 19 Jul, 2016 1 commit
  7. 21 Jun, 2016 1 commit
  8. 04 Jan, 2016 1 commit
  9. 12 Oct, 2015 1 commit
    • Andrey Ryabinin's avatar
      arm64: add KASAN support · 39d114dd
      Andrey Ryabinin authored and Catalin Marinas's avatar Catalin Marinas committed
      
      
      This patch adds arch specific code for kernel address sanitizer
      (see Documentation/kasan.txt).
      
      1/8 of kernel addresses reserved for shadow memory. There was no
      big enough hole for this, so virtual addresses for shadow were
      stolen from vmalloc area.
      
      At early boot stage the whole shadow region populated with just
      one physical page (kasan_zero_page). Later, this page reused
      as readonly zero shadow for some memory that KASan currently
      don't track (vmalloc).
      After mapping the physical memory, pages for shadow memory are
      allocated and mapped.
      
      Functions like memset/memmove/memcpy do a lot of memory accesses.
      If bad pointer passed to one of these function it is important
      to catch this. Compiler's instrumentation cannot do this since
      these functions are written in assembly.
      KASan replaces memory functions with manually instrumented variants.
      Original functions declared as weak symbols so strong definitions
      in mm/kasan/kasan.c could replace them. Original functions have aliases
      with '__' prefix in name, so we could call non-instrumented variant
      if needed.
      Some files built without kasan instrumentation (e.g. mm/slub.c).
      Original mem* function replaced (via #define) with prefixed variants
      to disable memory access checks for such files.
      
      Signed-off-by: default avatarAndrey Ryabinin <ryabinin.a.a@gmail.com>
      Tested-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Reviewed-by: Catalin Marinas's avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: Catalin Marinas's avatarCatalin Marinas <catalin.marinas@arm.com>
      39d114dd
  10. 29 May, 2014 1 commit
    • AKASHI Takahiro's avatar
      arm64: Add ftrace support · 819e50e2
      AKASHI Takahiro authored
      
      
      This patch implements arm64 specific part to support function tracers,
      such as function (CONFIG_FUNCTION_TRACER), function_graph
      (CONFIG_FUNCTION_GRAPH_TRACER) and function profiler
      (CONFIG_FUNCTION_PROFILER).
      
      With 'function' tracer, all the functions in the kernel are traced with
      timestamps in ${sysfs}/tracing/trace. If function_graph tracer is
      specified, call graph is generated.
      
      The kernel must be compiled with -pg option so that _mcount() is inserted
      at the beginning of functions. This function is called on every function's
      entry as long as tracing is enabled.
      In addition, function_graph tracer also needs to be able to probe function's
      exit. ftrace_graph_caller() & return_to_handler do this by faking link
      register's value to intercept function's return path.
      
      More details on architecture specific requirements are described in
      Documentation/trace/ftrace-design.txt.
      
      Reviewed-by: default avatarGanapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarAKASHI Takahiro <takahiro.akashi@linaro.org>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      819e50e2
  11. 23 May, 2014 3 commits
  12. 19 Dec, 2013 1 commit
  13. 24 Oct, 2013 1 commit
  14. 24 May, 2013 1 commit
    • Chen Gang's avatar
      arm64: kernel: compiling issue, need 'EXPORT_SYMBOL(clear_page)' · 726dcaa1
      Chen Gang authored and Catalin Marinas's avatar Catalin Marinas committed
      
      
      Need 'EXPORT_SYMBOL(clear_page)' if building with allmodconfig.
      
      The related errors:
        ERROR: "clear_page" [fs/ocfs2/dlm/ocfs2_dlm.ko] undefined!
        ERROR: "clear_page" [fs/ntfs/ntfs.ko] undefined!
        ERROR: "clear_page" [fs/gfs2/gfs2.ko] undefined!
        ERROR: "clear_page" [fs/fuse/fuse.ko] undefined!
        ERROR: "clear_page" [fs/ext3/ext3.ko] undefined!
        ERROR: "clear_page" [fs/ext2/ext2.ko] undefined!
        ERROR: "clear_page" [fs/exofs/libore.ko] undefined!
        ERROR: "clear_page" [fs/exofs/exofs.ko] undefined!
        ERROR: "clear_page" [drivers/block/brd.ko] undefined!
      
      Signed-off-by: default avatarChen Gang <gang.chen@asianux.com>
      Signed-off-by: Catalin Marinas's avatarCatalin Marinas <catalin.marinas@arm.com>
      726dcaa1
  15. 21 Mar, 2013 3 commits
  16. 18 Mar, 2013 1 commit
  17. 17 Sep, 2012 1 commit