From: Alexandre Ghiti <alexandre.ghiti@canonical.com> To: Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Andrey Ryabinin <ryabinin.a.a@gmail.com>, Alexander Potapenko <glider@google.com>, Andrey Konovalov <andreyknvl@gmail.com>, Dmitry Vyukov <dvyukov@google.com>, Alexandre Ghiti <alexandre.ghiti@canonical.com>, Aleksandr Nogikh <nogikh@google.com>, Nick Hu <nickhu@andestech.com>, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com Subject: [PATCH -fixes v2 0/4] Fixes KASAN and other along the way Date: Mon, 21 Feb 2022 17:12:28 +0100 [thread overview] Message-ID: <20220221161232.2168364-1-alexandre.ghiti@canonical.com> (raw) As reported by Aleksandr, syzbot riscv is broken since commit 54c5639d8f50 ("riscv: Fix asan-stack clang build"). This commit actually breaks KASAN_INLINE which is not fixed in this series, that will come later when found. Nevertheless, this series fixes small things that made the syzbot configuration + KASAN_OUTLINE fail to boot. Note that even though the config at [1] boots fine with this series, I was not able to boot the small config at [2] which fails because kasan_poison receives a really weird address 0x4075706301000000 (maybe a kasan person could provide some hint about what happens below in do_ctors -> __asan_register_globals): Thread 2 hit Breakpoint 1, kasan_poison (addr=<optimized out>, size=<optimized out>, value=<optimized out>, init=<optimized out>) at /home/alex/work/linux/mm/kasan/shadow.c:90 90 if (WARN_ON((unsigned long)addr & KASAN_GRANULE_MASK)) 1: x/i $pc => 0xffffffff80261712 <kasan_poison>: andi a4,a0,7 5: /x $a0 = 0x4075706301000000 Thread 2 hit Breakpoint 2, handle_exception () at /home/alex/work/linux/arch/riscv/kernel/entry.S:27 27 csrrw tp, CSR_SCRATCH, tp 1: x/i $pc => 0xffffffff80004098 <handle_exception>: csrrw tp,sscratch,tp 5: /x $a0 = 0xe80eae0b60200000 (gdb) bt #0 handle_exception () at /home/alex/work/linux/arch/riscv/kernel/entry.S:27 #1 0xffffffff80261746 in kasan_poison (addr=<optimized out>, size=<optimized out>, value=<optimized out>, init=<optimized out>) at /home/alex/work/linux/mm/kasan/shadow.c:98 #2 0xffffffff802618b4 in kasan_unpoison (addr=<optimized out>, size=<optimized out>, init=<optimized out>) at /home/alex/work/linux/mm/kasan/shadow.c:138 #3 0xffffffff80260876 in register_global (global=<optimized out>) at /home/alex/work/linux/mm/kasan/generic.c:214 #4 __asan_register_globals (globals=<optimized out>, size=<optimized out>) at /home/alex/work/linux/mm/kasan/generic.c:226 #5 0xffffffff8125efac in _sub_I_65535_1 () #6 0xffffffff81201b32 in do_ctors () at /home/alex/work/linux/init/main.c:1156 #7 do_basic_setup () at /home/alex/work/linux/init/main.c:1407 #8 kernel_init_freeable () at /home/alex/work/linux/init/main.c:1613 #9 0xffffffff81153ddc in kernel_init (unused=<optimized out>) at /home/alex/work/linux/init/main.c:1502 #10 0xffffffff800041c0 in handle_exception () at /home/alex/work/linux/arch/riscv/kernel/entry.S:231 Thanks again to Aleksandr for narrowing down the issues fixed here. [1] https://gist.github.com/a-nogikh/279c85c2d24f47efcc3e865c08844138 [2] https://gist.github.com/AlexGhiti/a5a0cab0227e2bf38f9d12232591c0e4 Changes in v2: - Fix kernel test robot failure regarding KERN_VIRT_SIZE that is undefined for nommu config Alexandre Ghiti (4): riscv: Fix is_linear_mapping with recent move of KASAN region riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP riscv: Fix DEBUG_VIRTUAL false warnings riscv: Fix config KASAN && DEBUG_VIRTUAL arch/riscv/include/asm/page.h | 2 +- arch/riscv/include/asm/pgtable.h | 1 + arch/riscv/mm/Makefile | 3 +++ arch/riscv/mm/kasan_init.c | 3 +-- arch/riscv/mm/physaddr.c | 4 +--- 5 files changed, 7 insertions(+), 6 deletions(-) -- 2.32.0
WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Ghiti <alexandre.ghiti@canonical.com> To: Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Andrey Ryabinin <ryabinin.a.a@gmail.com>, Alexander Potapenko <glider@google.com>, Andrey Konovalov <andreyknvl@gmail.com>, Dmitry Vyukov <dvyukov@google.com>, Alexandre Ghiti <alexandre.ghiti@canonical.com>, Aleksandr Nogikh <nogikh@google.com>, Nick Hu <nickhu@andestech.com>, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com Subject: [PATCH -fixes v2 0/4] Fixes KASAN and other along the way Date: Mon, 21 Feb 2022 17:12:28 +0100 [thread overview] Message-ID: <20220221161232.2168364-1-alexandre.ghiti@canonical.com> (raw) As reported by Aleksandr, syzbot riscv is broken since commit 54c5639d8f50 ("riscv: Fix asan-stack clang build"). This commit actually breaks KASAN_INLINE which is not fixed in this series, that will come later when found. Nevertheless, this series fixes small things that made the syzbot configuration + KASAN_OUTLINE fail to boot. Note that even though the config at [1] boots fine with this series, I was not able to boot the small config at [2] which fails because kasan_poison receives a really weird address 0x4075706301000000 (maybe a kasan person could provide some hint about what happens below in do_ctors -> __asan_register_globals): Thread 2 hit Breakpoint 1, kasan_poison (addr=<optimized out>, size=<optimized out>, value=<optimized out>, init=<optimized out>) at /home/alex/work/linux/mm/kasan/shadow.c:90 90 if (WARN_ON((unsigned long)addr & KASAN_GRANULE_MASK)) 1: x/i $pc => 0xffffffff80261712 <kasan_poison>: andi a4,a0,7 5: /x $a0 = 0x4075706301000000 Thread 2 hit Breakpoint 2, handle_exception () at /home/alex/work/linux/arch/riscv/kernel/entry.S:27 27 csrrw tp, CSR_SCRATCH, tp 1: x/i $pc => 0xffffffff80004098 <handle_exception>: csrrw tp,sscratch,tp 5: /x $a0 = 0xe80eae0b60200000 (gdb) bt #0 handle_exception () at /home/alex/work/linux/arch/riscv/kernel/entry.S:27 #1 0xffffffff80261746 in kasan_poison (addr=<optimized out>, size=<optimized out>, value=<optimized out>, init=<optimized out>) at /home/alex/work/linux/mm/kasan/shadow.c:98 #2 0xffffffff802618b4 in kasan_unpoison (addr=<optimized out>, size=<optimized out>, init=<optimized out>) at /home/alex/work/linux/mm/kasan/shadow.c:138 #3 0xffffffff80260876 in register_global (global=<optimized out>) at /home/alex/work/linux/mm/kasan/generic.c:214 #4 __asan_register_globals (globals=<optimized out>, size=<optimized out>) at /home/alex/work/linux/mm/kasan/generic.c:226 #5 0xffffffff8125efac in _sub_I_65535_1 () #6 0xffffffff81201b32 in do_ctors () at /home/alex/work/linux/init/main.c:1156 #7 do_basic_setup () at /home/alex/work/linux/init/main.c:1407 #8 kernel_init_freeable () at /home/alex/work/linux/init/main.c:1613 #9 0xffffffff81153ddc in kernel_init (unused=<optimized out>) at /home/alex/work/linux/init/main.c:1502 #10 0xffffffff800041c0 in handle_exception () at /home/alex/work/linux/arch/riscv/kernel/entry.S:231 Thanks again to Aleksandr for narrowing down the issues fixed here. [1] https://gist.github.com/a-nogikh/279c85c2d24f47efcc3e865c08844138 [2] https://gist.github.com/AlexGhiti/a5a0cab0227e2bf38f9d12232591c0e4 Changes in v2: - Fix kernel test robot failure regarding KERN_VIRT_SIZE that is undefined for nommu config Alexandre Ghiti (4): riscv: Fix is_linear_mapping with recent move of KASAN region riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP riscv: Fix DEBUG_VIRTUAL false warnings riscv: Fix config KASAN && DEBUG_VIRTUAL arch/riscv/include/asm/page.h | 2 +- arch/riscv/include/asm/pgtable.h | 1 + arch/riscv/mm/Makefile | 3 +++ arch/riscv/mm/kasan_init.c | 3 +-- arch/riscv/mm/physaddr.c | 4 +--- 5 files changed, 7 insertions(+), 6 deletions(-) -- 2.32.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2022-02-21 16:13 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-02-21 16:12 Alexandre Ghiti [this message] 2022-02-21 16:12 ` [PATCH -fixes v2 0/4] Fixes KASAN and other along the way Alexandre Ghiti 2022-02-21 16:12 ` [PATCH -fixes v2 1/4] riscv: Fix is_linear_mapping with recent move of KASAN region Alexandre Ghiti 2022-02-21 16:12 ` Alexandre Ghiti 2022-02-21 16:12 ` [PATCH -fixes v2 2/4] riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP Alexandre Ghiti 2022-02-21 16:12 ` Alexandre Ghiti 2022-02-21 16:12 ` [PATCH -fixes v2 3/4] riscv: Fix DEBUG_VIRTUAL false warnings Alexandre Ghiti 2022-02-21 16:12 ` Alexandre Ghiti 2022-02-21 16:12 ` [PATCH -fixes v2 4/4] riscv: Fix config KASAN && DEBUG_VIRTUAL Alexandre Ghiti 2022-02-21 16:12 ` Alexandre Ghiti 2022-02-22 10:28 ` Aleksandr Nogikh 2022-02-22 10:28 ` Aleksandr Nogikh 2022-02-23 13:10 ` Alexandre Ghiti 2022-02-23 13:10 ` Alexandre Ghiti 2022-02-23 17:17 ` Alexandre Ghiti 2022-02-23 17:17 ` Alexandre Ghiti 2022-02-25 3:57 ` Palmer Dabbelt 2022-02-25 3:57 ` Palmer Dabbelt
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=20220221161232.2168364-1-alexandre.ghiti@canonical.com \ --to=alexandre.ghiti@canonical.com \ --cc=andreyknvl@gmail.com \ --cc=aou@eecs.berkeley.edu \ --cc=dvyukov@google.com \ --cc=glider@google.com \ --cc=kasan-dev@googlegroups.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=nickhu@andestech.com \ --cc=nogikh@google.com \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.com \ --cc=ryabinin.a.a@gmail.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.