Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1684065
| Path | csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Dmitry Vyukov <dvyukov@google.com> |
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 2/4] kasan: added functions for unpoisoning stack variables |
| Date | Mon, 10 Jul 2017 10:50:03 +0200 |
| Message-ID | <u1Cye-2Hm-29@gated-at.bofh.it> (permalink) |
| References | <u0n8d-3bI-5@gated-at.bofh.it> <u0n8e-3bI-31@gated-at.bofh.it> |
| X-Original-To | Greg Hackmann <ghackmann@google.com> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=1BlQ8gJgiZk7iHuvdTXletpMjf8eOaO0u9k4P3Gbzaw=; b=FGnsAEqPDaJnxMAQAwPj8USmhUXs6JtGfCjn+Odj9Lt15GSyzF2FEKvbFRuoQfA9XY naHZYOO7Gl6uW/OqIXn9zuy6tLrWzinEfYW4wap+xvis+9h1xPRZSD2rmdPeB7YSpD8P wm5j+Mnc1yRQ/4qPJm7G/27VEyR0AJN45JBN9y5mLcZ/m62lpk61YntpQM7sX1nIa6da Vtxx3W4Vy4ezy9G1cBS311UC5RrlZGtGeVbjiRg0YoU20nJhwuQy4Cr4QoEGeEVe4SZL 7x2e1AeYYWnTUPljUWQidIwRfrS7HbVA/qz0jRH3b0c678eAw1L8jZRLSBIxSifJVH3m /+AQ== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=1BlQ8gJgiZk7iHuvdTXletpMjf8eOaO0u9k4P3Gbzaw=; b=It2uP0OvTXywL95rvDoLMs1tSdUhDgWSpHmXjT76Vbh/A9ye2j/QiFbzMAmnoeb10p VX0jlfg7uRrTwvCCjTfWaq0v5wWZY8WjxQFZLQdddkFJJF36CT6gGIK5VEYua0dobw8I 35K2wwUm5tokh9EV1v1yHwgQDOshO+4itxtiDNu+8vyJMmvQskjFCNoVOwZFydcQrw9D v3Y1VGWtKZl2zS6UlzLAzaowPVrOOV8sfD6y/m0zChlbNR+HowhZvMpyYrEq97/J9S7N XnM4bM+3JxKxiKCyNZiKbRqmcmYNde+2P9wIj1wc6V++vdvowunqDQNOy1730M8OY4g3 SFfQ== |
| X-Gm-Message-State | AIVw11105urpD6KOUWyQUsHImMmbFLAZALv6tcrjv/7iWR2G+oKyHOS3 Y/5NMsJBUNwMHx+1w8YofMrdkYE7jlZJ |
| X-Received | by 10.202.245.5 with SMTP id t5mr8487567oih.176.1499676393583; Mon, 10 Jul 2017 01:46:33 -0700 (PDT) |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset="UTF-8" |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 46 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | Andrey Ryabinin <aryabinin@virtuozzo.com>, Alexander Potapenko <glider@google.com>, Masahiro Yamada <yamada.masahiro@socionext.com>, Michal Marek <mmarek@suse.com>, LKML <linux-kernel@vger.kernel.org>, kasan-dev <kasan-dev@googlegroups.com>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "open list:KERNEL BUILD + fi..." <linux-kbuild@vger.kernel.org>, Matthias Kaehlcke <mka@chromium.org>, Michael Davidson <md@google.com> |
| X-Original-Date | Mon, 10 Jul 2017 10:46:13 +0200 |
| X-Original-Message-ID | <CACT4Y+ZnvBSd09U83WK_ayep1e+ZXeSmsMQa08GAjOxSLx3xmg@mail.gmail.com> |
| X-Original-References | <20170706220114.142438-1-ghackmann@google.com> <20170706220114.142438-3-ghackmann@google.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1684065 |
Show key headers only | View raw
On Fri, Jul 7, 2017 at 12:01 AM, Greg Hackmann <ghackmann@google.com> wrote:
> From: Alexander Potapenko <glider@google.com>
>
> As a code-size optimization, LLVM builds since r279383 may
> bulk-manipulate the shadow region when (un)poisoning large memory
> blocks. This requires new callbacks that simply do an uninstrumented
> memset().
>
> This fixes linking the Clang-built kernel when using KASAN.
>
> Signed-off-by: Alexander Potapenko <glider@google.com>
> [ghackmann@google.com: fix memset() parameters, and tweak
> commit message to describe new callbacks]
> Signed-off-by: Greg Hackmann <ghackmann@google.com>
> ---
> mm/kasan/kasan.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/mm/kasan/kasan.c b/mm/kasan/kasan.c
> index 892b626f564b..89911e5c69f9 100644
> --- a/mm/kasan/kasan.c
> +++ b/mm/kasan/kasan.c
> @@ -828,6 +828,21 @@ void __asan_allocas_unpoison(const void *stack_top, const void *stack_bottom)
> }
> EXPORT_SYMBOL(__asan_allocas_unpoison);
>
> +/* Emitted by the compiler to [un]poison local variables. */
> +#define DEFINE_ASAN_SET_SHADOW(byte) \
> + void __asan_set_shadow_##byte(const void *addr, size_t size) \
> + { \
> + __memset((void *)addr, 0x##byte, size); \
> + } \
> + EXPORT_SYMBOL(__asan_set_shadow_##byte)
> +
> +DEFINE_ASAN_SET_SHADOW(00);
> +DEFINE_ASAN_SET_SHADOW(f1);
> +DEFINE_ASAN_SET_SHADOW(f2);
> +DEFINE_ASAN_SET_SHADOW(f3);
> +DEFINE_ASAN_SET_SHADOW(f5);
> +DEFINE_ASAN_SET_SHADOW(f8);
> +
> #ifdef CONFIG_MEMORY_HOTPLUG
> static int kasan_mem_notifier(struct notifier_block *nb,
> unsigned long action, void *data)
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 2/4] kasan: added functions for unpoisoning stack variables Greg Hackmann <ghackmann@google.com> - 2017-07-07 00:10 +0200 Re: [PATCH 2/4] kasan: added functions for unpoisoning stack variables Dmitry Vyukov <dvyukov@google.com> - 2017-07-10 10:50 +0200
csiph-web