Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1205264

Re: [PATCH v5 5/6] arm64: add KASAN support

From Catalin Marinas <catalin.marinas@arm.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5 5/6] arm64: add KASAN support
Date 2015-08-11 18:40 +0200
Message-ID <pWkKK-2d6-5@gated-at.bofh.it> (permalink)
References <pW3JT-2OH-3@gated-at.bofh.it> <pW3JT-2OH-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Aug 11, 2015 at 05:18:18AM +0300, Andrey Ryabinin wrote:
> 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: Andrey Ryabinin <ryabinin.a.a@gmail.com>
> Tested-by: Linus Walleij <linus.walleij@linaro.org>

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH v5 5/6] arm64: add KASAN support Andrey Ryabinin <ryabinin.a.a@gmail.com> - 2015-08-11 00:30 +0200
  Re: [PATCH v5 5/6] arm64: add KASAN support Catalin Marinas <catalin.marinas@arm.com> - 2015-08-11 18:40 +0200

csiph-web