[Skiboot] [PATCH] mambo: Add a reservation for the initramfs

Michael Ellerman mpe at ellerman.id.au
Mon May 29 14:41:01 AEST 2017


Oliver O'Halloran <oohall at gmail.com> writes:

> On most systems the initramfs is loaded inside the part of memory
> reserved for the OS [0x0-0x30000000] and skiboot will never touch it.
> On mambo it's loaded at 0x80000000 and if you're unlucky skiboot can
> allocate over the top of it and corrupt the initramfs blob.
>
> There might be the downside that the kernel cannot re-use the initramfs
> memory since it's marked as reserved, but the kernel might also free it
> anyway.
>
> Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
>
> diff --git a/external/mambo/skiboot.tcl b/external/mambo/skiboot.tcl
> index 1b74c9bc5f3d..40e4107bf9a5 100644
> --- a/external/mambo/skiboot.tcl
> +++ b/external/mambo/skiboot.tcl
> @@ -216,6 +216,11 @@ mysim of addprop $reserved_memory int "#size-cells" 2
>  mysim of addprop $reserved_memory int "#address-cells" 2
>  mysim of addprop $reserved_memory empty "ranges" ""
>  
> +set initramfs_res [mysim of addchild $reserved_memory "initramfs" ""]
> +set reg [list $cpio_start $cpio_size ]
> +mysim of addprop $initramfs_res array64 "reg" reg
> +mysim of addprop $initramfs_res empty "name" "initramfs"

For me booting on mambo is broken as of 65612f120735 ("mem_region: Add
reserved regions after memory init").

This fixes it for me.

Tested-by: Michael Ellerman <mpe at ellerman.id.au>

cheers


More information about the Skiboot mailing list