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:
Родитель
416f79c23d
Коммит
915ef7bda7
|
@ -558,9 +558,7 @@ static int __init early_parse_emu_nodes(char *p)
|
|||
{
|
||||
int count;
|
||||
|
||||
if (kstrtoint(p, 0, &count) != 0 || count <= 0)
|
||||
return 0;
|
||||
if (count <= 0)
|
||||
if (!p || kstrtoint(p, 0, &count) != 0 || count <= 0)
|
||||
return 0;
|
||||
emu_nodes = min(count, MAX_NUMNODES);
|
||||
return 0;
|
||||
|
@ -572,7 +570,8 @@ early_param("emu_nodes", early_parse_emu_nodes);
|
|||
*/
|
||||
static int __init early_parse_emu_size(char *p)
|
||||
{
|
||||
emu_size = memparse(p, NULL);
|
||||
if (p)
|
||||
emu_size = memparse(p, NULL);
|
||||
return 0;
|
||||
}
|
||||
early_param("emu_size", early_parse_emu_size);
|
||||
|
|
|
@ -158,6 +158,8 @@ early_param("numa_debug", parse_debug);
|
|||
|
||||
static int __init parse_numa(char *parm)
|
||||
{
|
||||
if (!parm)
|
||||
return 1;
|
||||
if (strcmp(parm, numa_mode_plain.name) == 0)
|
||||
mode = &numa_mode_plain;
|
||||
#ifdef CONFIG_NUMA_EMU
|
||||
|
|
Загрузка…
Ссылка в новой задаче