summaryrefslogtreecommitdiff
authorNick Bray <ncbray@google.com>2017-11-30 23:49:54 (GMT)
committer Greg Hackmann <ghackmann@google.com>2017-12-05 18:05:48 (GMT)
commitf26d3c76d3764c2d3b542eb8f0aa9ee7dc47233c (patch)
tree0bfd0b93a389d34278b34770dd9196b62bf20fc9
parentca3e4eb14a140080e3eb35976a796c3a11b17497 (diff)
downloadcommon-f26d3c76d3764c2d3b542eb8f0aa9ee7dc47233c.zip
common-f26d3c76d3764c2d3b542eb8f0aa9ee7dc47233c.tar.gz
common-f26d3c76d3764c2d3b542eb8f0aa9ee7dc47233c.tar.bz2
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>
Diffstat
-rw-r--r--init/initramfs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/init/initramfs.c b/init/initramfs.c
index d0b53f49..bf3af10 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -622,8 +622,11 @@ static int __init populate_rootfs(void)
{
char *err;
- if (do_skip_initramfs)
+ if (do_skip_initramfs) {
+ if (initrd_start)
+ free_initrd();
return default_rootfs();
+ }
err = unpack_to_rootfs(__initramfs_start, __initramfs_size);
if (err)