x86: Fix panic when handling "mem={invalid}" param
Avoid removing all of memory and panicing when "mem={invalid}" is specified, e.g. mem=blahblah, mem=0, or mem=nopentium (on platforms other than x86_32). Signed-off-by: Kamal Mostafa <kamal@canonical.com> BugLink: http://bugs.launchpad.net/bugs/553464 Cc: Yinghai Lu <yinghai@kernel.org> Cc: Len Brown <len.brown@intel.com> Cc: Rafael J. Wysocki <rjw@sisk.pl> Cc: <stable@kernel.org> # .3x: as far back as it applies LKML-Reference: <1296783486-23033-1-git-send-email-kamal@canonical.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
7064d865af
commit
77eed821ac
1 changed files with 3 additions and 0 deletions
|
@ -856,6 +856,9 @@ static int __init parse_memopt(char *p)
|
||||||
|
|
||||||
userdef = 1;
|
userdef = 1;
|
||||||
mem_size = memparse(p, &p);
|
mem_size = memparse(p, &p);
|
||||||
|
/* don't remove all of memory when handling "mem={invalid}" param */
|
||||||
|
if (mem_size == 0)
|
||||||
|
return -EINVAL;
|
||||||
e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1);
|
e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue