diff options
author | 2019-08-16 15:49:49 +0200 | |
---|---|---|
committer | 2019-08-26 12:51:17 +0200 | |
commit | 915ef7bda76466a5542a76694c08709895383f1c (patch) | |
tree | c8b6ddc0998035be3f36d4969abdce5d62321182 | |
parent | s390/paes: Prepare paes functions for large key blobs (diff) | |
download | linux-915ef7bda76466a5542a76694c08709895383f1c.tar.gz linux-915ef7bda76466a5542a76694c08709895383f1c.tar.bz2 linux-915ef7bda76466a5542a76694c08709895383f1c.zip |
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>
-rw-r--r-- | arch/s390/numa/mode_emu.c | 7 | ||||
-rw-r--r-- | arch/s390/numa/numa.c | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/arch/s390/numa/mode_emu.c b/arch/s390/numa/mode_emu.c index 71a12a4f4906..72d742bb2d17 100644 --- a/arch/s390/numa/mode_emu.c +++ b/arch/s390/numa/mode_emu.c @@ -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); diff --git a/arch/s390/numa/numa.c b/arch/s390/numa/numa.c index 8eb9e9743f5d..d2910fa834c8 100644 --- a/arch/s390/numa/numa.c +++ b/arch/s390/numa/numa.c @@ -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 |