lkml.org 
[lkml]   [2005]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] free initrd mem adjustment
(Note: Patch also attached because the inline version is certain to get
line wrapped.)

Besides freeing initrd memory, also clear out the now dangling
pointers
to it, to make sure accidental late use attempts can be detected.

Signed-off-by: Jan Beulich <jbeulich@novell.com>

diff -Npru 2.6.13/init/initramfs.c 2.6.13-free-initrd/init/initramfs.c
--- 2.6.13/init/initramfs.c 2005-08-29 01:41:01.000000000 +0200
+++ 2.6.13-free-initrd/init/initramfs.c 2005-04-29
08:51:21.000000000 +0200
@@ -466,6 +466,14 @@ static char * __init unpack_to_rootfs(ch
extern char __initramfs_start[], __initramfs_end[];
#ifdef CONFIG_BLK_DEV_INITRD
#include <linux/initrd.h>
+
+static inline void __init free_initrd(void)
+{
+ free_initrd_mem(initrd_start, initrd_end);
+ initrd_start = 0;
+ initrd_end = 0;
+}
+
#endif

void __init populate_rootfs(void)
@@ -484,7 +492,7 @@ void __init populate_rootfs(void)
printk(" it is\n");
unpack_to_rootfs((char *)initrd_start,
initrd_end - initrd_start, 0);
- free_initrd_mem(initrd_start, initrd_end);
+ free_initrd();
return;
}
printk("it isn't (%s); looks like an initrd\n", err);
@@ -493,7 +501,7 @@ void __init populate_rootfs(void)
sys_write(fd, (char *)initrd_start,
initrd_end - initrd_start);
sys_close(fd);
- free_initrd_mem(initrd_start, initrd_end);
+ free_initrd();
}
}
#endif
[unhandled content-type:application/octet-stream]
\
 
 \ /
  Last update: 2005-09-08 16:42    [W:0.031 / U:0.600 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site