aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/mm
diff options
context:
space:
mode:
authorHelge Deller <deller@parisc-linux.org>2006-01-15 12:11:50 -0700
committerKyle McMartin <kyle@duet.int.mcmartin.ca>2006-01-22 20:26:55 -0500
commit81a3de3efd61c2483a303cf0b6227525d2f28df7 (patch)
tree038a7c16bab46260fa2e9cce6890ab4e042fc332 /arch/parisc/mm
parent[PARISC] Add CONFIG_DEBUG_RODATA to protect read-only data (diff)
downloadlinux-dev-81a3de3efd61c2483a303cf0b6227525d2f28df7.tar.xz
linux-dev-81a3de3efd61c2483a303cf0b6227525d2f28df7.zip
[PARISC] Use DEBUG_KERNEL to catch used-after-free __init data
Use CONFIG_DEBUG_KERNEL to catch kernel code which tries to access __init data after it is freed. When CONFIG_DEBUG_KERNEL is not set this also cleans up a WARN_ON at boot time. Also remove some dead code from mm/init.c Signed-off-by: Helge Deller <deller@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/mm')
-rw-r--r--arch/parisc/mm/init.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index 6f36d0b17d9e..7847ca13d6c2 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -371,17 +371,11 @@ static void __init setup_bootmem(void)
void free_initmem(void)
{
- /* FIXME: */
-#if 0
- printk(KERN_INFO "NOT FREEING INITMEM (%dk)\n",
- (&__init_end - &__init_begin) >> 10);
- return;
-#else
unsigned long addr;
printk(KERN_INFO "Freeing unused kernel memory: ");
-#if 1
+#ifdef CONFIG_DEBUG_KERNEL
/* Attempt to catch anyone trying to execute code here
* by filling the page with BRK insns.
*
@@ -414,7 +408,6 @@ void free_initmem(void)
pdc_chassis_send_status(PDC_CHASSIS_DIRECT_BCOMPLETE);
printk("%luk freed\n", (unsigned long)(&__init_end - &__init_begin) >> 10);
-#endif
}