ANDROID: initramfs: call free_initrd() when skipping init

Memory allocated for initrd would not be reclaimed if initializing ramfs
was skipped.

Bug: 69901741
Test: "grep MemTotal /proc/meminfo" increases by a few MB on an Android
device with a/b boot.

Change-Id: Ifbe094d303ed12cfd6de6aa004a8a19137a2f58a
Signed-off-by: Nick Bray <ncbray@google.com>
This commit is contained in:
Nick Bray 2017-11-30 15:49:54 -08:00 committed by Greg Hackmann
parent ca3e4eb14a
commit f26d3c76d3

View file

@ -622,8 +622,11 @@ static int __init populate_rootfs(void)
{ {
char *err; char *err;
if (do_skip_initramfs) if (do_skip_initramfs) {
if (initrd_start)
free_initrd();
return default_rootfs(); return default_rootfs();
}
err = unpack_to_rootfs(__initramfs_start, __initramfs_size); err = unpack_to_rootfs(__initramfs_start, __initramfs_size);
if (err) if (err)