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

From: Steven Rostedt
Date: Fri Apr 24 2020 - 19:58:37 EST


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

-- Steve