Re: [PATCH] x86: cleanup reloated_initrd

H. Peter Anvin
2008-06-14T18:42:26Z

Yinghai Lu wrote:
> 1. move that before zone_sizes_init ...
> 2. add free_early for one old one, otherwise it will be be reserved again when
> init highmem.
>
> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
>
> Index: linux-2.6/arch/x86/kernel/setup_32.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/kernel/setup_32.c
> +++ linux-2.6/arch/x86/kernel/setup_32.c
> @@ -585,6 +585,9 @@ static void __init relocate_initrd(void)
> printk(KERN_INFO "Copied RAMDISK from %016llx - %016llx to %08llx - %08llx\n",
> ramdisk_image, ramdisk_image + ramdisk_size - 1,
> ramdisk_here, ramdisk_here + ramdisk_size - 1);
> +
> + /* need to free that, otherwise init highmem will reserve it again */
> + free_early(ramdisk_image, ramdisk_image+ramdisk_size);
> }
>

I'm somewhat confused by this... you realize that the old location and
the new location of the initrd will overlap, right?

-hpa