diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 6891cc93548e..7eb7fdcce0f8 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c @@ -84,6 +84,17 @@ static int __init early_parse_mem(char *p) memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START; size = memparse(p, &p); + + if (size > __MEMORY_SIZE) { + static char msg[] __initdata = KERN_ERR + "Using mem= to increase the size of kernel memory " + "is not allowed.\n" + " Recompile the kernel with the correct value for " + "CONFIG_MEMORY_SIZE.\n"; + printk(msg); + return 0; + } + memory_end = memory_start + size; return 0;