Commit 915ef7bd authored by Vasily Gorbik's avatar Vasily Gorbik

s390/numa: correct early_param handling

When command line options are used without specifying values
(e.g. "emu_size" instead of "emu_size="), the value is NULL. Check that
before performing string operations and further processing.
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
parent 416f79c2
...@@ -558,9 +558,7 @@ static int __init early_parse_emu_nodes(char *p) ...@@ -558,9 +558,7 @@ static int __init early_parse_emu_nodes(char *p)
{ {
int count; int count;
if (kstrtoint(p, 0, &count) != 0 || count <= 0) if (!p || kstrtoint(p, 0, &count) != 0 || count <= 0)
return 0;
if (count <= 0)
return 0; return 0;
emu_nodes = min(count, MAX_NUMNODES); emu_nodes = min(count, MAX_NUMNODES);
return 0; return 0;
...@@ -572,7 +570,8 @@ early_param("emu_nodes", early_parse_emu_nodes); ...@@ -572,7 +570,8 @@ early_param("emu_nodes", early_parse_emu_nodes);
*/ */
static int __init early_parse_emu_size(char *p) static int __init early_parse_emu_size(char *p)
{ {
emu_size = memparse(p, NULL); if (p)
emu_size = memparse(p, NULL);
return 0; return 0;
} }
early_param("emu_size", early_parse_emu_size); early_param("emu_size", early_parse_emu_size);
...@@ -158,6 +158,8 @@ early_param("numa_debug", parse_debug); ...@@ -158,6 +158,8 @@ early_param("numa_debug", parse_debug);
static int __init parse_numa(char *parm) static int __init parse_numa(char *parm)
{ {
if (!parm)
return 1;
if (strcmp(parm, numa_mode_plain.name) == 0) if (strcmp(parm, numa_mode_plain.name) == 0)
mode = &numa_mode_plain; mode = &numa_mode_plain;
#ifdef CONFIG_NUMA_EMU #ifdef CONFIG_NUMA_EMU
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment