From: Dmitry Vyukov <dvyukov@google.com>
To: Tobias Klauser <tklauser@distanz.ch>
Cc: Palmer Dabbelt <palmerdabbelt@google.com>,
Andreas Schwab <schwab@linux-m68k.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Albert Ou <aou@eecs.berkeley.edu>,
linux-riscv <linux-riscv@lists.infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
nylon7@andestech.com, Bjorn Topel <bjorn.topel@gmail.com>,
syzkaller <syzkaller@googlegroups.com>
Subject: Re: riscv+KASAN does not boot
Date: Mon, 18 Jan 2021 16:05:30 +0100 [thread overview]
Message-ID: <CACT4Y+bFV6m1LCYb1nO7ioKJK99916D76sJ+H-LgBjWx6biF5w@mail.gmail.com> (raw)
In-Reply-To: <20210118145310.crnqnh6kax5jqicj@distanz.ch>
On Mon, Jan 18, 2021 at 3:53 PM Tobias Klauser <tklauser@distanz.ch> wrote:
> > > On Thu, Jan 14, 2021 at 5:57 AM Palmer Dabbelt <palmerdabbelt@google.com> wrote:
> > > >
> > > > On Fri, 25 Dec 2020 09:13:23 PST (-0800), dvyukov@google.com wrote:
> > > > > On Fri, Dec 25, 2020 at 5:58 PM Andreas Schwab <schwab@linux-m68k.org> wrote:
> > > > >>
> > > > >> On Dez 25 2020, Dmitry Vyukov wrote:
> > > > >>
> > > > >> > qemu-system-riscv64 \
> > > > >> > -machine virt -bios default -smp 1 -m 2G \
> > > > >> > -device virtio-blk-device,drive=hd0 \
> > > > >> > -drive file=buildroot-riscv64.ext4,if=none,format=raw,id=hd0 \
> > > > >> > -kernel arch/riscv/boot/Image \
> > > > >> > -nographic \
> > > > >> > -device virtio-rng-device,rng=rng0 -object
> > > > >> > rng-random,filename=/dev/urandom,id=rng0 \
> > > > >> > -netdev user,id=net0,host=10.0.2.10,hostfwd=tcp::10022-:22 -device
> > > > >> > virtio-net-device,netdev=net0 \
> > > > >> > -append "root=/dev/vda earlyprintk=serial console=ttyS0 oops=panic
> > > > >> > panic_on_warn=1 panic=86400"
> > > > >>
> > > > >> Do you get more output with earlycon=sbi?
> > > > >
> > > > > Hi Andreas,
> > > > >
> > > > > For defconfig+kvm_guest.config+ scripts/config -e KASAN -e
> > > > > KASAN_INLINE it actually gave me more output:
> > > > >
> > > > >
> > > > > OpenSBI v0.7
> > > > > ____ _____ ____ _____
> > > > > / __ \ / ____| _ \_ _|
> > > > > | | | |_ __ ___ _ __ | (___ | |_) || |
> > > > > | | | | '_ \ / _ \ '_ \ \___ \| _ < | |
> > > > > | |__| | |_) | __/ | | |____) | |_) || |_
> > > > > \____/| .__/ \___|_| |_|_____/|____/_____|
> > > > > | |
> > > > > |_|
> > > > >
> > > > > Platform Name : QEMU Virt Machine
> > > > > Platform HART Features : RV64ACDFIMSU
> > > > > Current Hart : 0
> > > > > Firmware Base : 0x80000000
> > > > > Firmware Size : 132 KB
> > > > > Runtime SBI Version : 0.2
> > > > >
> > > > > MIDELEG : 0x0000000000000222
> > > > > MEDELEG : 0x000000000000b109
> > > > > PMP0 : 0x0000000080000000-0x000000008003ffff (A)
> > > > > PMP1 : 0x0000000000000000-0xffffffffffffffff (A,R,W,X)
> > > > > [ 0.000000] Linux version 5.10.0-01370-g71c5f03154ac
> > > > > (dvyukov@dvyukov-desk.muc.corp.google.com) (riscv64-linux-gnu-gcc
> > > > > (Debian 10.2.0-9) 10.2.0, GNU ld (GNU Binutils for Debian) 2.35.1) #17
> > > > > SMP Fri Dec 25 18:10:12 CET 2020
> > > > > [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
> > > > > [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
> > > > > [ 0.000000] printk: bootconsole [sbi0] enabled
> > > > > [ 0.000000] efi: UEFI not found.
> > > > > [ 0.000000] Zone ranges:
> > > > > [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff]
> > > > > [ 0.000000] Normal empty
> > > > > [ 0.000000] Movable zone start for each node
> > > > > [ 0.000000] Early memory node ranges
> > > > > [ 0.000000] node 0: [mem 0x0000000080200000-0x00000000ffffffff]
> > > > > [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000ffffffff]
> > > > > [ 0.000000] SBI specification v0.2 detected
> > > > > [ 0.000000] SBI implementation ID=0x1 Version=0x7
> > > > > [ 0.000000] SBI v0.2 TIME extension detected
> > > > > [ 0.000000] SBI v0.2 IPI extension detected
> > > > > [ 0.000000] SBI v0.2 RFENCE extension detected
> > > > > [ 0.000000] software IO TLB: mapped [mem
> > > > > 0x00000000fa3f9000-0x00000000fe3f9000] (64MB)
> > > > > [ 0.000000] Unable to handle kernel paging request at virtual
> > > > > address dfffffc810040000
> > > > > [ 0.000000] Oops [#1]
> > > > > [ 0.000000] Modules linked in:
> > > > > [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted
> > > > > 5.10.0-01370-g71c5f03154ac #17
> > > > > [ 0.000000] epc: ffffffe00042e3e4 ra : ffffffe000c0462c sp : ffffffe001603ea0
> > > > > [ 0.000000] gp : ffffffe0016e3c60 tp : ffffffe00160cd40 t0 :
> > > > > dfffffc810040000
> > > > > [ 0.000000] t1 : ffffffe000e0a838 t2 : 0000000000000000 s0 :
> > > > > ffffffe001603f50
> > > > > [ 0.000000] s1 : ffffffe0016e50a8 a0 : dfffffc810040000 a1 :
> > > > > 0000000000000000
> > > > > [ 0.000000] a2 : 000000000ffc0000 a3 : dfffffc820000000 a4 :
> > > > > 0000000000000000
> > > > > [ 0.000000] a5 : 000000003e8c6001 a6 : ffffffe000e0a820 a7 :
> > > > > 0000000000000900
> > > > > [ 0.000000] s2 : dfffffc820000000 s3 : dfffffc800000000 s4 :
> > > > > 0000000000000001
> > > > > [ 0.000000] s5 : ffffffe0016e5108 s6 : fffffffffffff000 s7 :
> > > > > dfffffc810040000
> > > > > [ 0.000000] s8 : 0000000000000080 s9 : ffffffffffffffff s10:
> > > > > ffffffe07a119000
> > > > > [ 0.000000] s11: 000000000000ffc0 t3 : ffffffe0016eb908 t4 :
> > > > > 0000000000000001
> > > > > [ 0.000000] t5 : ffffffc4001c150a t6 : ffffffe001603be8
> > > > > [ 0.000000] status: 0000000000000100 badaddr: dfffffc810040000
> > > > > cause: 000000000000000f
> > > > > [ 0.000000] random: get_random_bytes called from
> > > > > oops_exit+0x30/0x58 with crng_init=0
> > > > > [ 0.000000] ---[ end trace 0000000000000000 ]---
> > > > > [ 0.000000] Kernel panic - not syncing: Fatal exception
> > > > > [ 0.000000] ---[ end Kernel panic - not syncing: Fatal exception ]---
> > > > >
> > > > >
> > > > > But I first tried with a the kernel image I had in the dir, I think it
> > > > > was this config (no KASAN):
> > > > > https://gist.githubusercontent.com/dvyukov/b2b62beccf80493781ab03b41430e616/raw/62e673cff08a8a41656d2871b8a37f74b00f509f/gistfile1.txt
> > > > >
> > > > > and earlycon=sbi did not change anything (no output after OpenSBI).
> > > > > So potentially there are 2 different problems.
> > > >
> > > > Thanks for reporting this. Looks like I'd forgotten to add a kasan config to
> > > > my tests. There's one in there now, and it's passing as of the fix that Nylon
> > > > posted.
> > >
> > > I can boot the KASAN kernel now on riscv/fixes.
> > >
> > > Next problem: I've got only to:
> > >
> > > [ 90.498967][ T1] Run /sbin/init as init process
> > > [ 91.164353][ T4022] init[4022]: unhandled signal 11 code 0x1 at
> > > 0x0000000000000bb0 in busybox[10000+d7000]
> > > [ 91.179640][ T4022] CPU: 1 PID: 4022 Comm: init Not tainted
> > > 5.11.0-rc2-00012-g0983834a8393 #19
> > > [ 91.180853][ T4022] epc: 0000000000000bb0 ra : 0000003fccab09d0 sp
> > > : 0000003fffa8c7b0
> > > [ 91.181861][ T4022] gp : 00000000000e8d70 tp : 0000003fccaaf820 t0
> > > : 000000000000001e
> > > [ 91.182810][ T4022] t1 : 0000003fccab0bfc t2 : 000000000000000a s0
> > > : 0000003fffa8c850
> > > [ 91.183749][ T4022] s1 : 0000003fccab1070 a0 : 0000003fccab1070 a1
> > > : 0000003fffa8c8c8
> > > [ 91.184689][ T4022] a2 : 0000000000000001 a3 : 0000000000000020 a4
> > > : 0000000000000000
> > > [ 91.185620][ T4022] a5 : 0000000000000000 a6 : 0000003fcc9c4260 a7
> > > : fffffffffffffffe
> > > [ 91.186566][ T4022] s2 : 0000000000000000 s3 : 0000003fffa8c8c8 s4
> > > : 0000003fccab1000
> > > [ 91.187500][ T4022] s5 : 0000003fccab1078 s6 : 0000003fffa8c8d0 s7
> > > : 0000000000000010
> > > [ 91.189672][ T4022] s8 : 0000000000000016 s9 : 0000000000000000
> > > s10: 0000003fffa8c8c8
> > > [ 91.190637][ T4022] s11: 0000000000000000 t3 : 0000000000000bb0 t4
> > > : 0000000000000000
> > > [ 91.191568][ T4022] t5 : 0000003fffa8c360 t6 : 0000000000000000
> > > [ 91.192389][ T4022] status: 8000000000004020 badaddr:
> > > 0000000000000bb0 cause: 000000000000000c
> > > [ 91.201573][ T1] Kernel panic - not syncing: Attempted to kill
> > > init! exitcode=0x0000000b
> > > [ 91.202906][ T1] CPU: 0 PID: 1 Comm: init Not tainted
> > > 5.11.0-rc2-00012-g0983834a8393 #19
> > > [ 91.204139][ T1] Call Trace:
> > > [ 91.204849][ T1] [<ffffffe0000095c0>] walk_stackframe+0x0/0x1d0
> > > [ 91.206124][ T1] [<ffffffe00458b2d8>] show_stack+0x3a/0x46
> > > [ 91.207240][ T1] [<ffffffe0045a5b72>] dump_stack+0x11c/0x180
> > > [ 91.208732][ T1] [<ffffffe00458b6a0>] panic+0x20a/0x5cc
> > > [ 91.209890][ T1] [<ffffffe00002eea4>] do_exit+0x1846/0x1874
> > > [ 91.211052][ T1] [<ffffffe00002efdc>] do_group_exit+0xa0/0x192
> > > [ 91.212224][ T1] [<ffffffe000047d30>] get_signal+0x2d6/0x13dc
> > > [ 91.213390][ T1] [<ffffffe000007eb0>] do_notify_resume+0xa8/0x912
> > > [ 91.214567][ T1] [<ffffffe00000559c>] ret_from_exception+0x0/0x14
> > >
> > > The image is buildroot on 2020.11.x built with this script:
> > > https://gist.githubusercontent.com/dvyukov/1a9a01ca2189e35175a021820c95b04d/raw/5c01d755e83f4eab0d56aa7dc84af3b2d5e80423/gistfile1.txt
> > >
> > > Readelf for init shows the following (is it that [10000+d7000] address
> > > is not .text at all?):
> > >
> > > $ riscv64-linux-gnu-readelf --sections image/bin/busybox
> > > There are 27 section headers, starting at offset 0xd7f20:
> > >
> > > Section Headers:
> > > [Nr] Name Type Address Offset
> > > Size EntSize Flags Link Info Align
> > > [ 0] NULL 0000000000000000 00000000
> > > 0000000000000000 0000000000000000 0 0 0
> > > [ 1] .interp PROGBITS 0000000000010238 00000238
> > > 0000000000000021 0000000000000000 A 0 0 1
> > > [ 2] .note.ABI-tag NOTE 000000000001025c 0000025c
> > > 0000000000000020 0000000000000000 A 0 0 4
> > > [ 3] .hash HASH 0000000000010280 00000280
> > > 00000000000009cc 0000000000000004 A 5 0 8
> > > [ 4] .gnu.hash GNU_HASH 0000000000010c50 00000c50
> > > 0000000000000ac8 0000000000000000 A 5 0 8
> > > [ 5] .dynsym DYNSYM 0000000000011718 00001718
> > > 00000000000021f0 0000000000000018 A 6 1 8
> > > [ 6] .dynstr STRTAB 0000000000013908 00003908
> > > 0000000000000c66 0000000000000000 A 0 0 1
> > > [ 7] .gnu.version VERSYM 000000000001456e 0000456e
> > > 00000000000002d4 0000000000000002 A 5 0 2
> > > [ 8] .gnu.version_r VERNEED 0000000000014848 00004848
> > > 0000000000000050 0000000000000000 A 6 2 8
> > > [ 9] .rela.dyn RELA 0000000000014898 00004898
> > > 00000000000000c0 0000000000000018 A 5 0 8
> > > [10] .rela.plt RELA 0000000000014958 00004958
> > > 00000000000020a0 0000000000000018 AI 5 22 8
> > > [11] .plt PROGBITS 0000000000016a00 00006a00
> > > 00000000000015e0 0000000000000010 AX 0 0 16
> > > [12] .text PROGBITS 0000000000017fe0 00007fe0
> > > 00000000000a3668 0000000000000000 AX 0 0 4
> > > [13] .rodata PROGBITS 00000000000bb648 000ab648
> > > 000000000002b076 0000000000000000 A 0 0 8
> > > [14] .sdata2 PROGBITS 00000000000e66c0 000d66c0
> > > 0000000000000163 0000000000000000 A 0 0 8
> > > [15] .eh_frame_hdr PROGBITS 00000000000e6824 000d6824
> > > 0000000000000014 0000000000000000 A 0 0 4
> > > [16] .eh_frame PROGBITS 00000000000e6838 000d6838
> > > 000000000000002c 0000000000000000 A 0 0 8
> > > [17] .preinit_array PREINIT_ARRAY 00000000000e7df8 000d6df8
> > > 0000000000000008 0000000000000008 WA 0 0 1
> > > [18] .init_array INIT_ARRAY 00000000000e7e00 000d6e00
> > > 0000000000000008 0000000000000008 WA 0 0 8
> > > [19] .fini_array FINI_ARRAY 00000000000e7e08 000d6e08
> > > 0000000000000008 0000000000000008 WA 0 0 8
> > > [20] .dynamic DYNAMIC 00000000000e7e10 000d6e10
> > > 00000000000001f0 0000000000000010 WA 6 0 8
> > > [21] .data PROGBITS 00000000000e8000 000d7000
> > > 0000000000000240 0000000000000000 WA 0 0 8
> > > [22] .got PROGBITS 00000000000e8240 000d7240
> > > 0000000000000af8 0000000000000008 WA 0 0 8
> > > [23] .sdata PROGBITS 00000000000e8d38 000d7d38
> > > 0000000000000101 0000000000000000 WA 0 0 8
> > > [24] .sbss NOBITS 00000000000e8e40 000d7e39
> > > 000000000000017f 0000000000000000 WA 0 0 8
> > > [25] .bss NOBITS 00000000000e8fc0 000d7e39
> > > 00000000000005b0 0000000000000000 WA 0 0 8
> > > [26] .shstrtab STRTAB 0000000000000000 000d7e39
> > > 00000000000000e6 0000000000000000 0 0 1
> > >
> > >
> > > Before I spent more time on this, am I doing anything obviously wrong?
> > > Is it a known issue? Are there any fresh working recipes?
> >
> > Humm.. I tried to use 2020.05 which Tobias used here:
> > https://github.com/google/syzkaller/blob/master/docs/linux/setup_linux-host_qemu-vm_riscv64-kernel.md#image
> > But there is no make qemu_riscv64_virt_defconfig target... though I
> > remember I tested these instructions at the time...
>
> Weird. `make qemu_riscv64_virt_defconfig` works here on buildroot
> 202.05, 2020.11.1 and on latest master.
>
> Do you see these in your configs/ directory?
>
> $ ls -l configs/qemu_riscv*
> -rw-rw-r-- 1 tklauser tklauser 673 Jan 18 15:51 configs/qemu_riscv32_virt_defconfig
> -rw-rw-r-- 1 tklauser tklauser 682 Jan 18 15:51 configs/qemu_riscv64_virt_defconfig
Oh, turned out I previously checked out 2011.05 somehow...
Yes, 2020.05 has qemu_riscv64_virt_defconfig and I am building it now.
2020.11 has the config, but init crashes (see above).
WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Vyukov <dvyukov@google.com>
To: Tobias Klauser <tklauser@distanz.ch>
Cc: Albert Ou <aou@eecs.berkeley.edu>,
Bjorn Topel <bjorn.topel@gmail.com>,
Palmer Dabbelt <palmerdabbelt@google.com>,
LKML <linux-kernel@vger.kernel.org>,
nylon7@andestech.com, syzkaller <syzkaller@googlegroups.com>,
Andreas Schwab <schwab@linux-m68k.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
linux-riscv <linux-riscv@lists.infradead.org>
Subject: Re: riscv+KASAN does not boot
Date: Mon, 18 Jan 2021 16:05:30 +0100 [thread overview]
Message-ID: <CACT4Y+bFV6m1LCYb1nO7ioKJK99916D76sJ+H-LgBjWx6biF5w@mail.gmail.com> (raw)
In-Reply-To: <20210118145310.crnqnh6kax5jqicj@distanz.ch>
On Mon, Jan 18, 2021 at 3:53 PM Tobias Klauser <tklauser@distanz.ch> wrote:
> > > On Thu, Jan 14, 2021 at 5:57 AM Palmer Dabbelt <palmerdabbelt@google.com> wrote:
> > > >
> > > > On Fri, 25 Dec 2020 09:13:23 PST (-0800), dvyukov@google.com wrote:
> > > > > On Fri, Dec 25, 2020 at 5:58 PM Andreas Schwab <schwab@linux-m68k.org> wrote:
> > > > >>
> > > > >> On Dez 25 2020, Dmitry Vyukov wrote:
> > > > >>
> > > > >> > qemu-system-riscv64 \
> > > > >> > -machine virt -bios default -smp 1 -m 2G \
> > > > >> > -device virtio-blk-device,drive=hd0 \
> > > > >> > -drive file=buildroot-riscv64.ext4,if=none,format=raw,id=hd0 \
> > > > >> > -kernel arch/riscv/boot/Image \
> > > > >> > -nographic \
> > > > >> > -device virtio-rng-device,rng=rng0 -object
> > > > >> > rng-random,filename=/dev/urandom,id=rng0 \
> > > > >> > -netdev user,id=net0,host=10.0.2.10,hostfwd=tcp::10022-:22 -device
> > > > >> > virtio-net-device,netdev=net0 \
> > > > >> > -append "root=/dev/vda earlyprintk=serial console=ttyS0 oops=panic
> > > > >> > panic_on_warn=1 panic=86400"
> > > > >>
> > > > >> Do you get more output with earlycon=sbi?
> > > > >
> > > > > Hi Andreas,
> > > > >
> > > > > For defconfig+kvm_guest.config+ scripts/config -e KASAN -e
> > > > > KASAN_INLINE it actually gave me more output:
> > > > >
> > > > >
> > > > > OpenSBI v0.7
> > > > > ____ _____ ____ _____
> > > > > / __ \ / ____| _ \_ _|
> > > > > | | | |_ __ ___ _ __ | (___ | |_) || |
> > > > > | | | | '_ \ / _ \ '_ \ \___ \| _ < | |
> > > > > | |__| | |_) | __/ | | |____) | |_) || |_
> > > > > \____/| .__/ \___|_| |_|_____/|____/_____|
> > > > > | |
> > > > > |_|
> > > > >
> > > > > Platform Name : QEMU Virt Machine
> > > > > Platform HART Features : RV64ACDFIMSU
> > > > > Current Hart : 0
> > > > > Firmware Base : 0x80000000
> > > > > Firmware Size : 132 KB
> > > > > Runtime SBI Version : 0.2
> > > > >
> > > > > MIDELEG : 0x0000000000000222
> > > > > MEDELEG : 0x000000000000b109
> > > > > PMP0 : 0x0000000080000000-0x000000008003ffff (A)
> > > > > PMP1 : 0x0000000000000000-0xffffffffffffffff (A,R,W,X)
> > > > > [ 0.000000] Linux version 5.10.0-01370-g71c5f03154ac
> > > > > (dvyukov@dvyukov-desk.muc.corp.google.com) (riscv64-linux-gnu-gcc
> > > > > (Debian 10.2.0-9) 10.2.0, GNU ld (GNU Binutils for Debian) 2.35.1) #17
> > > > > SMP Fri Dec 25 18:10:12 CET 2020
> > > > > [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
> > > > > [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
> > > > > [ 0.000000] printk: bootconsole [sbi0] enabled
> > > > > [ 0.000000] efi: UEFI not found.
> > > > > [ 0.000000] Zone ranges:
> > > > > [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff]
> > > > > [ 0.000000] Normal empty
> > > > > [ 0.000000] Movable zone start for each node
> > > > > [ 0.000000] Early memory node ranges
> > > > > [ 0.000000] node 0: [mem 0x0000000080200000-0x00000000ffffffff]
> > > > > [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000ffffffff]
> > > > > [ 0.000000] SBI specification v0.2 detected
> > > > > [ 0.000000] SBI implementation ID=0x1 Version=0x7
> > > > > [ 0.000000] SBI v0.2 TIME extension detected
> > > > > [ 0.000000] SBI v0.2 IPI extension detected
> > > > > [ 0.000000] SBI v0.2 RFENCE extension detected
> > > > > [ 0.000000] software IO TLB: mapped [mem
> > > > > 0x00000000fa3f9000-0x00000000fe3f9000] (64MB)
> > > > > [ 0.000000] Unable to handle kernel paging request at virtual
> > > > > address dfffffc810040000
> > > > > [ 0.000000] Oops [#1]
> > > > > [ 0.000000] Modules linked in:
> > > > > [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted
> > > > > 5.10.0-01370-g71c5f03154ac #17
> > > > > [ 0.000000] epc: ffffffe00042e3e4 ra : ffffffe000c0462c sp : ffffffe001603ea0
> > > > > [ 0.000000] gp : ffffffe0016e3c60 tp : ffffffe00160cd40 t0 :
> > > > > dfffffc810040000
> > > > > [ 0.000000] t1 : ffffffe000e0a838 t2 : 0000000000000000 s0 :
> > > > > ffffffe001603f50
> > > > > [ 0.000000] s1 : ffffffe0016e50a8 a0 : dfffffc810040000 a1 :
> > > > > 0000000000000000
> > > > > [ 0.000000] a2 : 000000000ffc0000 a3 : dfffffc820000000 a4 :
> > > > > 0000000000000000
> > > > > [ 0.000000] a5 : 000000003e8c6001 a6 : ffffffe000e0a820 a7 :
> > > > > 0000000000000900
> > > > > [ 0.000000] s2 : dfffffc820000000 s3 : dfffffc800000000 s4 :
> > > > > 0000000000000001
> > > > > [ 0.000000] s5 : ffffffe0016e5108 s6 : fffffffffffff000 s7 :
> > > > > dfffffc810040000
> > > > > [ 0.000000] s8 : 0000000000000080 s9 : ffffffffffffffff s10:
> > > > > ffffffe07a119000
> > > > > [ 0.000000] s11: 000000000000ffc0 t3 : ffffffe0016eb908 t4 :
> > > > > 0000000000000001
> > > > > [ 0.000000] t5 : ffffffc4001c150a t6 : ffffffe001603be8
> > > > > [ 0.000000] status: 0000000000000100 badaddr: dfffffc810040000
> > > > > cause: 000000000000000f
> > > > > [ 0.000000] random: get_random_bytes called from
> > > > > oops_exit+0x30/0x58 with crng_init=0
> > > > > [ 0.000000] ---[ end trace 0000000000000000 ]---
> > > > > [ 0.000000] Kernel panic - not syncing: Fatal exception
> > > > > [ 0.000000] ---[ end Kernel panic - not syncing: Fatal exception ]---
> > > > >
> > > > >
> > > > > But I first tried with a the kernel image I had in the dir, I think it
> > > > > was this config (no KASAN):
> > > > > https://gist.githubusercontent.com/dvyukov/b2b62beccf80493781ab03b41430e616/raw/62e673cff08a8a41656d2871b8a37f74b00f509f/gistfile1.txt
> > > > >
> > > > > and earlycon=sbi did not change anything (no output after OpenSBI).
> > > > > So potentially there are 2 different problems.
> > > >
> > > > Thanks for reporting this. Looks like I'd forgotten to add a kasan config to
> > > > my tests. There's one in there now, and it's passing as of the fix that Nylon
> > > > posted.
> > >
> > > I can boot the KASAN kernel now on riscv/fixes.
> > >
> > > Next problem: I've got only to:
> > >
> > > [ 90.498967][ T1] Run /sbin/init as init process
> > > [ 91.164353][ T4022] init[4022]: unhandled signal 11 code 0x1 at
> > > 0x0000000000000bb0 in busybox[10000+d7000]
> > > [ 91.179640][ T4022] CPU: 1 PID: 4022 Comm: init Not tainted
> > > 5.11.0-rc2-00012-g0983834a8393 #19
> > > [ 91.180853][ T4022] epc: 0000000000000bb0 ra : 0000003fccab09d0 sp
> > > : 0000003fffa8c7b0
> > > [ 91.181861][ T4022] gp : 00000000000e8d70 tp : 0000003fccaaf820 t0
> > > : 000000000000001e
> > > [ 91.182810][ T4022] t1 : 0000003fccab0bfc t2 : 000000000000000a s0
> > > : 0000003fffa8c850
> > > [ 91.183749][ T4022] s1 : 0000003fccab1070 a0 : 0000003fccab1070 a1
> > > : 0000003fffa8c8c8
> > > [ 91.184689][ T4022] a2 : 0000000000000001 a3 : 0000000000000020 a4
> > > : 0000000000000000
> > > [ 91.185620][ T4022] a5 : 0000000000000000 a6 : 0000003fcc9c4260 a7
> > > : fffffffffffffffe
> > > [ 91.186566][ T4022] s2 : 0000000000000000 s3 : 0000003fffa8c8c8 s4
> > > : 0000003fccab1000
> > > [ 91.187500][ T4022] s5 : 0000003fccab1078 s6 : 0000003fffa8c8d0 s7
> > > : 0000000000000010
> > > [ 91.189672][ T4022] s8 : 0000000000000016 s9 : 0000000000000000
> > > s10: 0000003fffa8c8c8
> > > [ 91.190637][ T4022] s11: 0000000000000000 t3 : 0000000000000bb0 t4
> > > : 0000000000000000
> > > [ 91.191568][ T4022] t5 : 0000003fffa8c360 t6 : 0000000000000000
> > > [ 91.192389][ T4022] status: 8000000000004020 badaddr:
> > > 0000000000000bb0 cause: 000000000000000c
> > > [ 91.201573][ T1] Kernel panic - not syncing: Attempted to kill
> > > init! exitcode=0x0000000b
> > > [ 91.202906][ T1] CPU: 0 PID: 1 Comm: init Not tainted
> > > 5.11.0-rc2-00012-g0983834a8393 #19
> > > [ 91.204139][ T1] Call Trace:
> > > [ 91.204849][ T1] [<ffffffe0000095c0>] walk_stackframe+0x0/0x1d0
> > > [ 91.206124][ T1] [<ffffffe00458b2d8>] show_stack+0x3a/0x46
> > > [ 91.207240][ T1] [<ffffffe0045a5b72>] dump_stack+0x11c/0x180
> > > [ 91.208732][ T1] [<ffffffe00458b6a0>] panic+0x20a/0x5cc
> > > [ 91.209890][ T1] [<ffffffe00002eea4>] do_exit+0x1846/0x1874
> > > [ 91.211052][ T1] [<ffffffe00002efdc>] do_group_exit+0xa0/0x192
> > > [ 91.212224][ T1] [<ffffffe000047d30>] get_signal+0x2d6/0x13dc
> > > [ 91.213390][ T1] [<ffffffe000007eb0>] do_notify_resume+0xa8/0x912
> > > [ 91.214567][ T1] [<ffffffe00000559c>] ret_from_exception+0x0/0x14
> > >
> > > The image is buildroot on 2020.11.x built with this script:
> > > https://gist.githubusercontent.com/dvyukov/1a9a01ca2189e35175a021820c95b04d/raw/5c01d755e83f4eab0d56aa7dc84af3b2d5e80423/gistfile1.txt
> > >
> > > Readelf for init shows the following (is it that [10000+d7000] address
> > > is not .text at all?):
> > >
> > > $ riscv64-linux-gnu-readelf --sections image/bin/busybox
> > > There are 27 section headers, starting at offset 0xd7f20:
> > >
> > > Section Headers:
> > > [Nr] Name Type Address Offset
> > > Size EntSize Flags Link Info Align
> > > [ 0] NULL 0000000000000000 00000000
> > > 0000000000000000 0000000000000000 0 0 0
> > > [ 1] .interp PROGBITS 0000000000010238 00000238
> > > 0000000000000021 0000000000000000 A 0 0 1
> > > [ 2] .note.ABI-tag NOTE 000000000001025c 0000025c
> > > 0000000000000020 0000000000000000 A 0 0 4
> > > [ 3] .hash HASH 0000000000010280 00000280
> > > 00000000000009cc 0000000000000004 A 5 0 8
> > > [ 4] .gnu.hash GNU_HASH 0000000000010c50 00000c50
> > > 0000000000000ac8 0000000000000000 A 5 0 8
> > > [ 5] .dynsym DYNSYM 0000000000011718 00001718
> > > 00000000000021f0 0000000000000018 A 6 1 8
> > > [ 6] .dynstr STRTAB 0000000000013908 00003908
> > > 0000000000000c66 0000000000000000 A 0 0 1
> > > [ 7] .gnu.version VERSYM 000000000001456e 0000456e
> > > 00000000000002d4 0000000000000002 A 5 0 2
> > > [ 8] .gnu.version_r VERNEED 0000000000014848 00004848
> > > 0000000000000050 0000000000000000 A 6 2 8
> > > [ 9] .rela.dyn RELA 0000000000014898 00004898
> > > 00000000000000c0 0000000000000018 A 5 0 8
> > > [10] .rela.plt RELA 0000000000014958 00004958
> > > 00000000000020a0 0000000000000018 AI 5 22 8
> > > [11] .plt PROGBITS 0000000000016a00 00006a00
> > > 00000000000015e0 0000000000000010 AX 0 0 16
> > > [12] .text PROGBITS 0000000000017fe0 00007fe0
> > > 00000000000a3668 0000000000000000 AX 0 0 4
> > > [13] .rodata PROGBITS 00000000000bb648 000ab648
> > > 000000000002b076 0000000000000000 A 0 0 8
> > > [14] .sdata2 PROGBITS 00000000000e66c0 000d66c0
> > > 0000000000000163 0000000000000000 A 0 0 8
> > > [15] .eh_frame_hdr PROGBITS 00000000000e6824 000d6824
> > > 0000000000000014 0000000000000000 A 0 0 4
> > > [16] .eh_frame PROGBITS 00000000000e6838 000d6838
> > > 000000000000002c 0000000000000000 A 0 0 8
> > > [17] .preinit_array PREINIT_ARRAY 00000000000e7df8 000d6df8
> > > 0000000000000008 0000000000000008 WA 0 0 1
> > > [18] .init_array INIT_ARRAY 00000000000e7e00 000d6e00
> > > 0000000000000008 0000000000000008 WA 0 0 8
> > > [19] .fini_array FINI_ARRAY 00000000000e7e08 000d6e08
> > > 0000000000000008 0000000000000008 WA 0 0 8
> > > [20] .dynamic DYNAMIC 00000000000e7e10 000d6e10
> > > 00000000000001f0 0000000000000010 WA 6 0 8
> > > [21] .data PROGBITS 00000000000e8000 000d7000
> > > 0000000000000240 0000000000000000 WA 0 0 8
> > > [22] .got PROGBITS 00000000000e8240 000d7240
> > > 0000000000000af8 0000000000000008 WA 0 0 8
> > > [23] .sdata PROGBITS 00000000000e8d38 000d7d38
> > > 0000000000000101 0000000000000000 WA 0 0 8
> > > [24] .sbss NOBITS 00000000000e8e40 000d7e39
> > > 000000000000017f 0000000000000000 WA 0 0 8
> > > [25] .bss NOBITS 00000000000e8fc0 000d7e39
> > > 00000000000005b0 0000000000000000 WA 0 0 8
> > > [26] .shstrtab STRTAB 0000000000000000 000d7e39
> > > 00000000000000e6 0000000000000000 0 0 1
> > >
> > >
> > > Before I spent more time on this, am I doing anything obviously wrong?
> > > Is it a known issue? Are there any fresh working recipes?
> >
> > Humm.. I tried to use 2020.05 which Tobias used here:
> > https://github.com/google/syzkaller/blob/master/docs/linux/setup_linux-host_qemu-vm_riscv64-kernel.md#image
> > But there is no make qemu_riscv64_virt_defconfig target... though I
> > remember I tested these instructions at the time...
>
> Weird. `make qemu_riscv64_virt_defconfig` works here on buildroot
> 202.05, 2020.11.1 and on latest master.
>
> Do you see these in your configs/ directory?
>
> $ ls -l configs/qemu_riscv*
> -rw-rw-r-- 1 tklauser tklauser 673 Jan 18 15:51 configs/qemu_riscv32_virt_defconfig
> -rw-rw-r-- 1 tklauser tklauser 682 Jan 18 15:51 configs/qemu_riscv64_virt_defconfig
Oh, turned out I previously checked out 2011.05 somehow...
Yes, 2020.05 has qemu_riscv64_virt_defconfig and I am building it now.
2020.11 has the config, but init crashes (see above).
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2021-01-18 18:27 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-25 14:55 riscv+KASAN does not boot Dmitry Vyukov
2020-12-25 14:55 ` Dmitry Vyukov
2020-12-25 16:58 ` Andreas Schwab
2020-12-25 16:58 ` Andreas Schwab
2020-12-25 17:13 ` Dmitry Vyukov
2020-12-25 17:13 ` Dmitry Vyukov
2021-01-14 4:57 ` Palmer Dabbelt
2021-01-14 4:57 ` Palmer Dabbelt
2021-01-14 9:23 ` Dmitry Vyukov
2021-01-14 9:23 ` Dmitry Vyukov
2021-01-14 10:24 ` Dmitry Vyukov
2021-01-14 10:24 ` Dmitry Vyukov
2021-01-14 11:24 ` Dmitry Vyukov
2021-01-14 11:24 ` Dmitry Vyukov
2021-01-18 14:53 ` Tobias Klauser
2021-01-18 14:53 ` Tobias Klauser
2021-01-18 15:05 ` Dmitry Vyukov [this message]
2021-01-18 15:05 ` Dmitry Vyukov
2021-01-18 15:43 ` Dmitry Vyukov
2021-01-18 15:43 ` Dmitry Vyukov
2021-01-29 7:45 ` Alex Ghiti
2021-01-29 7:45 ` Alex Ghiti
2021-01-29 8:11 ` Dmitry Vyukov
2021-02-16 11:17 ` Dmitry Vyukov
2021-02-16 11:17 ` Dmitry Vyukov
2021-02-16 11:25 ` Dmitry Vyukov
2021-02-16 11:25 ` Dmitry Vyukov
2021-02-16 13:45 ` Dmitry Vyukov
2021-02-16 13:45 ` Dmitry Vyukov
2021-02-16 20:42 ` Alex Ghiti
2021-02-16 20:42 ` Alex Ghiti
2021-02-17 4:42 ` Dmitry Vyukov
2021-02-17 4:42 ` Dmitry Vyukov
2021-02-17 16:36 ` Alex Ghiti
2021-02-17 16:36 ` Alex Ghiti
2021-02-17 17:34 ` Dmitry Vyukov
2021-02-17 17:34 ` Dmitry Vyukov
2021-02-18 7:54 ` Alex Ghiti
2021-02-18 7:54 ` Alex Ghiti
2021-02-18 11:36 ` Dmitry Vyukov
2021-02-18 11:36 ` Dmitry Vyukov
2021-02-19 17:01 ` Alex Ghiti
2021-02-19 17:01 ` Alex Ghiti
2021-02-19 18:53 ` Dmitry Vyukov
2021-02-19 18:53 ` Dmitry Vyukov
2021-02-19 22:26 ` Palmer Dabbelt
2021-02-19 22:26 ` Palmer Dabbelt
2021-03-09 17:11 ` Dmitry Vyukov
2021-03-09 17:11 ` Dmitry Vyukov
2021-03-09 19:49 ` Alex Ghiti
2021-03-09 19:49 ` Alex Ghiti
2021-03-10 17:25 ` Dmitry Vyukov
2021-03-10 17:25 ` Dmitry Vyukov
2021-02-16 17:35 ` Tobias Klauser
2021-02-16 17:35 ` Tobias Klauser
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=CACT4Y+bFV6m1LCYb1nO7ioKJK99916D76sJ+H-LgBjWx6biF5w@mail.gmail.com \
--to=dvyukov@google.com \
--cc=aou@eecs.berkeley.edu \
--cc=bjorn.topel@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=nylon7@andestech.com \
--cc=palmerdabbelt@google.com \
--cc=paul.walmsley@sifive.com \
--cc=schwab@linux-m68k.org \
--cc=syzkaller@googlegroups.com \
--cc=tklauser@distanz.ch \
/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 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.