linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: Florian Fainelli <f.fainelli@gmail.com>,
	Abbott Liu <liuwenliang@huawei.com>,
	Russell King <linux@armlinux.org.uk>,
	Ard Biesheuvel <ardb@kernel.org>,
	Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Arnd Bergmann <arnd@arndb.de>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/5 v8] KASan for Arm
Date: Thu,  7 May 2020 14:45:17 +0200	[thread overview]
Message-ID: <20200507124522.171323-1-linus.walleij@linaro.org> (raw)

It's time to repost this, now that I got it into better shape.

Main changes:
- Restore the series number to v8 following my previous
  "v1" which was actually v7, following Florians versions.
  What was I thinking. :(
- Doesn't crash randomly in QEMU etc. This was because
  mmu.c was instrumented, and when we were lucky this did
  not poke around in memory that crashed us.
- Handle the undefined symbols better (like suggested by
  Ard)
- Fix up documentation.
- Better patch split in logical chunks.

Remaining issues:
- Does it work for you?
- Crash on ARMv5/v5 in v4wbi_flush_user_tlb_range+0x10/0x4c.
  I wonder why. If you know, please tell me, I naturally
  have to fix this.
- The code in kasan_init.c to first back up TTBR0 and then
  restore it looks *fragile* even if it is working. I think
  we need to do something better in a per-proc file such
  as is done in cpu_v7_switch_mm() and other well organized
  MMU manipulation, I certainly feel this should be done
  like that.

Abbott Liu (1):
  ARM: Define the virtual space of KASan's shadow region

Andrey Ryabinin (4):
  ARM: Disable KASan instrumentation for some code
  ARM: Replace string mem* functions for KASan
  ARM: Initialize the mapping of KASan shadow memory
  ARM: Enable KASan for ARM

 Documentation/arm/memory.rst       |   5 +
 Documentation/dev-tools/kasan.rst  |   4 +-
 arch/arm/Kconfig                   |  10 +
 arch/arm/boot/compressed/Makefile  |   1 +
 arch/arm/boot/compressed/string.c  |  19 ++
 arch/arm/include/asm/kasan.h       |  32 +++
 arch/arm/include/asm/kasan_def.h   |  81 ++++++++
 arch/arm/include/asm/memory.h      |   5 +
 arch/arm/include/asm/pgalloc.h     |   9 +-
 arch/arm/include/asm/string.h      |  21 ++
 arch/arm/include/asm/thread_info.h |   4 +
 arch/arm/kernel/entry-armv.S       |   5 +-
 arch/arm/kernel/entry-common.S     |   9 +-
 arch/arm/kernel/head-common.S      |   7 +-
 arch/arm/kernel/setup.c            |   2 +
 arch/arm/kernel/unwind.c           |   6 +-
 arch/arm/lib/memcpy.S              |   3 +
 arch/arm/lib/memmove.S             |   5 +-
 arch/arm/lib/memset.S              |   3 +
 arch/arm/mm/Makefile               |   5 +
 arch/arm/mm/kasan_init.c           | 324 +++++++++++++++++++++++++++++
 arch/arm/mm/mmu.c                  |  18 ++
 arch/arm/mm/pgd.c                  |  15 +-
 arch/arm/vdso/Makefile             |   2 +
 24 files changed, 581 insertions(+), 14 deletions(-)
 create mode 100644 arch/arm/include/asm/kasan.h
 create mode 100644 arch/arm/include/asm/kasan_def.h
 create mode 100644 arch/arm/mm/kasan_init.c

-- 
2.25.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2020-05-07 12:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-07 12:45 Linus Walleij [this message]
2020-05-07 12:45 ` [PATCH 1/5 v8] ARM: Disable KASan instrumentation for some code Linus Walleij
2020-05-07 12:45 ` [PATCH 2/5 v8] ARM: Replace string mem* functions for KASan Linus Walleij
2020-05-07 12:45 ` [PATCH 3/5 v8] ARM: Define the virtual space of KASan's shadow region Linus Walleij
2020-05-07 17:28   ` Ard Biesheuvel
2020-05-07 12:45 ` [PATCH 4/5 v8] ARM: Initialize the mapping of KASan shadow memory Linus Walleij
2020-05-07 12:45 ` [PATCH 5/5 v8] ARM: Enable KASan for ARM Linus Walleij
2020-05-07 17:29 ` [PATCH 0/5 v8] KASan for Arm Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200507124522.171323-1-linus.walleij@linaro.org \
    --to=linus.walleij@linaro.org \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=aryabinin@virtuozzo.com \
    --cc=f.fainelli@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=liuwenliang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).