Re: [BUGFIX PATCH 1/1] bootconfig: Fix to remove bootconfig data from initrd while boot

From: Masami Hiramatsu
Date: Sun Apr 26 2020 - 02:53:30 EST


On Fri, 24 Apr 2020 19:58:33 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Sat, 25 Apr 2020 01:34:12 +0900
> Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:
>
> > If there is a bootconfig data in the tail of initrd/initramfs,
> > initrd image sanity check caused an error while decompression
> > stage as follows.
> >
> > [ 0.883882] Unpacking initramfs...
> > [ 2.696429] Initramfs unpacking failed: invalid magic at start of compressed archive
> >
> > This error will be ignored if CONFIG_BLK_DEV_RAM=n,
> > but CONFIG_BLK_DEV_RAM=y the kernel failed to mount rootfs
> > and causes a panic.
> >
> > To fix this issue, shrink down the initrd_end for removing
> > tailing bootconfig data while boot the kernel.
> >
> > Fixes: 7684b8582c24 ("bootconfig: Load boot config from the tail of initrd")
> > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx
> > ---
> > init/main.c | 62 +++++++++++++++++++++++++++++++++++++++++++----------------
> > 1 file changed, 45 insertions(+), 17 deletions(-)
> >
> >
>
> A build with
>
> $ make allnoconfig
>
> Produces this:
>
> MODPOST vmlinux.o
> MODINFO modules.builtin.modinfo
> GEN modules.builtin
> LD vmlinux
> ld: init/main.o: in function `start_kernel':
> main.c:(.init.text+0x37f): undefined reference to `initrd_end'
> ld: main.c:(.init.text+0x3a7): undefined reference to `initrd_start'
> ld: main.c:(.init.text+0x3ae): undefined reference to `initrd_end'
> make[1]: *** [/work/git/linux-trace.git/Makefile:1106: vmlinux] Error 1

Oops, that depends on initrd. OK, I'll fix it.

Thanks!

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>