Messages in this thread |  | | Date | Sat, 10 Dec 2022 22:17:58 -0800 (PST) | Subject | Re: [PATCH] riscv: increase boot command line size to 1K | From | Palmer Dabbelt <> |
| |
On Sat, 26 Nov 2022 11:31:36 PST (-0800), andrea.righi@canonical.com wrote: > On Sat, Nov 26, 2022 at 07:25:01PM +0000, Conor Dooley wrote: >> On Sat, Nov 26, 2022 at 08:18:43PM +0100, Andrea Righi wrote: >> > On Sat, Nov 26, 2022 at 06:46:05PM +0000, Conor Dooley wrote: >> > > Hey Andrea, >> > > >> > > On Fri, Nov 25, 2022 at 02:37:13PM +0100, Andrea Righi wrote: >> > > > Kernel parameters string is limited to 512 characters on riscv (using >> > > > the default from include/uapi/asm-generic/setup.h). >> > > > >> > > > In some testing environments (e.g., qemu with long kernel parameters >> > > > string) we may exceed this limit, triggering errors like the following: >> > > > >> > > > [ 3.331893] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 >> > > > [ 3.332625] CPU: 2 PID: 1 Comm: sh Not tainted 6.1.0-rc6-kc #1 >> > > > [ 3.333233] Hardware name: riscv-virtio,qemu (DT) >> > > > [ 3.333550] Call Trace: >> > > > [ 3.333736] [<ffffffff800062b6>] dump_backtrace+0x1c/0x24 >> > > > [ 3.334053] [<ffffffff806e8f54>] show_stack+0x2c/0x38 >> > > > [ 3.334260] [<ffffffff806f2d06>] dump_stack_lvl+0x5a/0x7c >> > > > [ 3.334483] [<ffffffff806f2d3c>] dump_stack+0x14/0x1c >> > > > [ 3.334687] [<ffffffff806e92fa>] panic+0x116/0x2d0 >> > > > [ 3.334878] [<ffffffff8001b0aa>] do_exit+0x80a/0x810 >> > > > [ 3.335079] [<ffffffff8001b1d0>] do_group_exit+0x24/0x70 >> > > > [ 3.335287] [<ffffffff8001b234>] __wake_up_parent+0x0/0x20 >> > > > [ 3.335502] [<ffffffff80003cee>] ret_from_syscall+0x0/0x2 >> > > > [ 3.335857] SMP: stopping secondary CPUs >> > > > [ 3.337561] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 ]--- >> > > > >> > > > It seems reasonable enough to increase the default command line size to >> > > > 1024, like arm, to prevent issues like the one reported above. >> > > >> > > error: arch/riscv/include/uapi/asm/setup.h: missing "WITH Linux-syscall-note" for SPDX-License-Identifier >> > > >> > > Unfortunately this does not build :/ >> > > >> > > Thanks, >> > > Conor. >> > >> > Oh I see, because it's uapi it needs "WITH Linux-syscall-note", >> > wondering why I can't reproduce this failure... >> >> tuxmake --wrapper ccache --target-arch riscv --directory . \ >> --environment=KBUILD_BUILD_TIMESTAMP=@1621270510 \ >> --environment=KBUILD_BUILD_USER=tuxmake --environment=KBUILD_BUILD_HOST=tuxmake \ >> -o $tmpdir --toolchain llvm -z none -k rv32_defconfig >> >> (copy paste from a script) >> That's what caught it initially & I think should be reproduce able. My >> own standard build script also runs all of the HDRINST stuff if they've >> changed since the last time a given toolchain was used so it reproduces >> locally for me too. > > Ah! I'm pretty sure it's HDRINST, I'm just doing make, cross-compiling > the kernel, and running it directly from the build directory with a > custom script (that is basically a wrapper to qemu), so I don't need to > actually install anything. That's why I didn't catch the error. > > Thanks for sharing that, I'll make sure to test also a proper install > next time. :) > > -Andrea > >> >> > Anyway, as pointed out by Alexandre, there was already a previous >> > discussion about this topic: >> > https://lore.kernel.org/lkml/CACT4Y+YYAfTafFk7DE0B=qQFgkPXS7492AhBdY_CP1WdB8CGfA@mail.gmail.com/T/ >> > >> > Hopefully this change will be addressed there (and the patch land in >> > -next at least), otherwise I'll post a v2.
I posted a new version of the asm-generic changes here: https://lore.kernel.org/r/20221211061358.28035-1-palmer@rivosinc.com/
>> >> Yup, I noticed that thread - in fact I was going to link it yesterday >> before I saw Alex already had ;) >> >> Thanks, >> Conor.
|  |