linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: Nathan Chancellor <natechancellor@gmail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Abbott Liu <liuwenliang@huawei.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	clang-built-linux <clang-built-linux@googlegroups.com>,
	Andrey Ryabinin <aryabinin@virtuozzo.com>,
	Will Deacon <will@kernel.org>, Ard Biesheuvel <ardb@kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 0/5 v16] KASan for Arm
Date: Thu, 29 Oct 2020 17:38:22 -0700	[thread overview]
Message-ID: <CAKwvOdntdKGN+F4r2jYNw3C-vxxZ09aCTaGR1_DtR+5tFzjLOw@mail.gmail.com> (raw)
In-Reply-To: <20201030002900.GA2248731@ubuntu-m3-large-x86>

On Thu, Oct 29, 2020 at 5:29 PM Nathan Chancellor
<natechancellor@gmail.com> wrote:
>
> On Mon, Oct 19, 2020 at 10:41:35AM +0200, Linus Walleij wrote:
> > This is the 16th and final (knock on wood) version of
> > KASan for ARM32.
> >
> > Changes since v15:
> >
> > - Things now work on all boards we have tested on including
> >   Broadcom and i.MX6Q.
> >
> > - Folded in a fix from Ard to PAGE_ALIGN() the end of
> >   mappings making everything work on all Broadcom board.
> >
> > - Folded in a fix from Ahmad Fatoum making things work
> >   with fortify on i.MX6Q.
> >
> > - Testing and testing and testing on build servers.
> >
> > - We are good to go.
> >
> > I will now put this in Russell's patch tracker for v5.11.
> >
> > There is a git branch you can pull in:
> > https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git/log/?h=kasan
> >
> > This branch includes Ard's two patches already in Russell's
> > patch tracker.
> >
> >
> > Abbott Liu (1):
> >   ARM: Define the virtual space of KASan's shadow region
> >
> > Andrey Ryabinin (3):
> >   ARM: Disable KASan instrumentation for some code
> >   ARM: Replace string mem* functions for KASan
> >   ARM: Enable KASan for ARM
> >
> > Linus Walleij (1):
> >   ARM: Initialize the mapping of KASan shadow memory
> >
> >  Documentation/arm/memory.rst                  |   5 +
> >  Documentation/dev-tools/kasan.rst             |   4 +-
> >  .../features/debug/KASAN/arch-support.txt     |   2 +-
> >  arch/arm/Kconfig                              |  10 +
> >  arch/arm/boot/compressed/Makefile             |   1 +
> >  arch/arm/boot/compressed/string.c             |  19 ++
> >  arch/arm/include/asm/kasan.h                  |  33 ++
> >  arch/arm/include/asm/kasan_def.h              |  81 +++++
> >  arch/arm/include/asm/memory.h                 |   5 +
> >  arch/arm/include/asm/pgalloc.h                |   8 +-
> >  arch/arm/include/asm/string.h                 |  26 ++
> >  arch/arm/include/asm/thread_info.h            |   8 +
> >  arch/arm/include/asm/uaccess-asm.h            |   2 +-
> >  arch/arm/kernel/entry-armv.S                  |   3 +-
> >  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                      | 292 ++++++++++++++++++
> >  arch/arm/mm/mmu.c                             |  18 ++
> >  arch/arm/mm/pgd.c                             |  16 +-
> >  arch/arm/vdso/Makefile                        |   2 +
> >  26 files changed, 561 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.26.2
> >
>
> After this series was applied and available in -next, ARCH=arm LLVM=1
> allyesconfig builds started failing:
>
> $ make -skj"$(nproc)" ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- KCONFIG_ALLCONFIG=<(echo CONFIG_CPU_BIG_ENDIAN=n) LLVM=1 distclean allyesconfig vmlinux
> ...
> ld.lld: error: section: .exit.data is not contiguous with other relro sections
> ...
>
> $ git bisect ld: [3f267ec60b922eff2a5c90d532357a39f155b730] Add linux-next specific files for 20201029
> # good: [23859ae44402f4d935b9ee548135dd1e65e2cbf4] Merge tag 'trace-v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
> git bisect start '3f267ec60b922eff2a5c90d532357a39f155b730' '23859ae44402f4d935b9ee548135dd1e65e2cbf4'
> # bad: [bfa70a4ea4bfa6f87b58cf8b90b88297389c92b7] Merge remote-tracking branch 'mtd/mtd/next' into master
> git bisect bad bfa70a4ea4bfa6f87b58cf8b90b88297389c92b7
> # bad: [37a292dcf77532547f335ed5063d9169031c9b08] Merge remote-tracking branch 'sunxi/sunxi/for-next' into master
> git bisect bad 37a292dcf77532547f335ed5063d9169031c9b08
> # good: [e6d922c77db276a16f0b7933c2a9951dc9c0052c] Merge remote-tracking branch 'drm-misc-fixes/for-linux-next-fixes' into master
> git bisect good e6d922c77db276a16f0b7933c2a9951dc9c0052c
> # bad: [cbe49fbb8f6c8d29bc1d9a5a9a742ef2c2eb6320] Merge remote-tracking branch 'mvebu/for-next' into master
> git bisect bad cbe49fbb8f6c8d29bc1d9a5a9a742ef2c2eb6320
> # bad: [d0e12484e7e1ede73c538744cdbe9439f7335d01] Merge remote-tracking branch 'arm-soc/for-next' into master
> git bisect bad d0e12484e7e1ede73c538744cdbe9439f7335d01
> # good: [24a23387c15f34bad2485a9e1c3b7ac6f0fb35a6] Merge branch 'asm-generic-cleanup' into asm-generic
> git bisect good 24a23387c15f34bad2485a9e1c3b7ac6f0fb35a6
> # good: [3a8eb4d3421a2ca0f95ac3b1a8f012940d4f0d52] Merge remote-tracking branch 'kbuild/for-next' into master
> git bisect good 3a8eb4d3421a2ca0f95ac3b1a8f012940d4f0d52
> # bad: [20f96e606509ee5084690179afe1810b95617a92] Merge branches 'fixes' and 'misc' into for-next
> git bisect bad 20f96e606509ee5084690179afe1810b95617a92
> # good: [d6d51a96c7d63b7450860a3037f2d62388286a52] ARM: 9014/2: Replace string mem* functions for KASan
> git bisect good d6d51a96c7d63b7450860a3037f2d62388286a52
> # good: [5615f69bc2097452ecc954f5264d784e158d6801] ARM: 9016/2: Initialize the mapping of KASan shadow memory
> git bisect good 5615f69bc2097452ecc954f5264d784e158d6801
> # bad: [fc2933c133744305236793025b00c2f7d258b687] ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address
> git bisect bad fc2933c133744305236793025b00c2f7d258b687
> # bad: [421015713b306e47af95d4d61cdfbd96d462e4cb] ARM: 9017/2: Enable KASan for ARM
> git bisect bad 421015713b306e47af95d4d61cdfbd96d462e4cb
> # first bad commit: [421015713b306e47af95d4d61cdfbd96d462e4cb] ARM: 9017/2: Enable KASan for ARMog
>
> An allyesconfig kernel compiled with clang does not link properly with
> ld.bfd without a workaround [1], which I do not have time to apply and
> test now but can later if it is relevant. I have not done any triage on
> this yet either but I wanted to get the report out in case there is
> anything obvious.
>
> [1]: https://github.com/ClangBuiltLinux/linux/issues/325

relro? smells like:
https://lore.kernel.org/lkml/20201016175339.2429280-1-ndesaulniers@google.com/T/#u

-- 
Thanks,
~Nick Desaulniers

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

  reply	other threads:[~2020-10-30  0:39 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-19  8:41 [PATCH 0/5 v16] KASan for Arm Linus Walleij
2020-10-19  8:41 ` [PATCH 1/5 v16] ARM: Disable KASan instrumentation for some code Linus Walleij
2020-10-19  8:41 ` [PATCH 2/5 v16] ARM: Replace string mem* functions for KASan Linus Walleij
2020-11-06  7:49   ` Naresh Kamboju
2020-11-06  8:26     ` Linus Walleij
2020-11-06  8:28       ` Ard Biesheuvel
2020-11-06  9:44         ` Nathan Chancellor
2020-11-06 13:37           ` Linus Walleij
2020-11-06 15:15             ` Russell King - ARM Linux admin
2020-11-06 15:18               ` Ard Biesheuvel
2020-11-06 18:09               ` Nathan Chancellor
2020-11-09 16:02               ` Linus Walleij
2020-11-09 16:06                 ` Russell King - ARM Linux admin
2020-11-10 12:04                   ` Ard Biesheuvel
2020-11-12 13:51                     ` Linus Walleij
2020-11-12 15:05                       ` Ard Biesheuvel
2020-11-12 17:52                         ` Nathan Chancellor
2020-11-16 15:16                           ` Ard Biesheuvel
2020-11-09 16:05             ` Linus Walleij
2020-10-19  8:41 ` [PATCH 3/5 v16] ARM: Define the virtual space of KASan's shadow region Linus Walleij
2020-10-19  8:41 ` [PATCH 4/5 v16] ARM: Initialize the mapping of KASan shadow memory Linus Walleij
2020-10-19  8:54   ` Ard Biesheuvel
2020-10-19  9:34   ` Mike Rapoport
2020-10-19  9:42     ` Ard Biesheuvel
2020-10-19 10:04       ` Mike Rapoport
2020-10-19 12:57         ` Linus Walleij
2020-10-19  8:41 ` [PATCH 5/5 v16] ARM: Enable KASan for ARM Linus Walleij
2020-10-29 17:45 ` [PATCH 0/5 v16] KASan for Arm Dmitry Osipenko
2020-10-29 18:10   ` Ard Biesheuvel
2020-10-29 19:41     ` Dmitry Osipenko
2020-11-02 18:10     ` Dmitry Osipenko
2020-10-30  0:29 ` Nathan Chancellor
2020-10-30  0:38   ` Nick Desaulniers [this message]
2020-10-30  1:32     ` Nathan Chancellor
2020-10-30  7:52       ` Ard Biesheuvel
2020-10-30  7:56         ` Nathan Chancellor
2020-10-30  7:58           ` Ard Biesheuvel
2020-10-30  8:04             ` Nathan Chancellor
2020-10-30  8:10               ` Ard Biesheuvel
2020-10-30  8:45                 ` Nathan Chancellor
2020-10-30  8:51                   ` Arnd Bergmann
2020-10-30  9:09                     ` Nathan Chancellor
2020-11-05  0:30                       ` Fāng-ruì Sòng
2020-11-05  0:38                         ` Nick Desaulniers
2020-11-05  7:52                           ` Ard Biesheuvel
2020-11-05 10:24                             ` Mike Rapoport
2020-11-09 23:47       ` Nick Desaulniers
2020-11-10  1:56         ` [PATCH] ARM: Link with '-z norelro' Nathan Chancellor
2020-11-10  2:05           ` Nick Desaulniers
2020-11-10 18:49             ` Nick Desaulniers
2020-11-12  2:52               ` Nathan Chancellor
2020-12-02 23:05                 ` Nick Desaulniers
2020-11-05 22:10 ` [PATCH 0/5 v16] KASan for Arm Ahmad Fatoum

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=CAKwvOdntdKGN+F4r2jYNw3C-vxxZ09aCTaGR1_DtR+5tFzjLOw@mail.gmail.com \
    --to=ndesaulniers@google.com \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=aryabinin@virtuozzo.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=f.fainelli@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=liuwenliang@huawei.com \
    --cc=natechancellor@gmail.com \
    --cc=rppt@linux.ibm.com \
    --cc=will@kernel.org \
    /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).