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: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
416f79c23d
commit
915ef7bda7
@ -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,6 +570,7 @@ 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)
|
||||||
{
|
{
|
||||||
|
if (p)
|
||||||
emu_size = memparse(p, NULL);
|
emu_size = memparse(p, NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user