summaryrefslogtreecommitdiffstats
path: root/mm/percpu.c
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@openvz.org>2012-11-24 22:17:13 +0100
committerTejun Heo <tj@kernel.org>2012-12-02 15:23:04 +0100
commit5479c78ac6f688ea5ea8c49b44cf90ea87b63931 (patch)
tree449331a4649fb1dd019509d6c5a7ae71bbc05157 /mm/percpu.c
parentpercpu: make pcpu_free_chunk() use pcpu_mem_free() instead of kfree() (diff)
downloadlinux-5479c78ac6f688ea5ea8c49b44cf90ea87b63931.tar.xz
linux-5479c78ac6f688ea5ea8c49b44cf90ea87b63931.zip
mm, percpu: Make sure percpu_alloc early parameter has an argument
Otherwise we are getting a nil dereference if percpu_alloc kernel boot argument is specified without value. | [ 0.000000] BUG: unable to handle kernel NULL pointer dereference at (null) | [ 0.000000] IP: [<ffffffff81391360>] strcmp+0x10/0x30 Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'mm/percpu.c')
-rw-r--r--mm/percpu.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/percpu.c b/mm/percpu.c
index ec2589616e7d..8c8e08f3a692 100644
--- a/mm/percpu.c
+++ b/mm/percpu.c
@@ -1380,6 +1380,9 @@ enum pcpu_fc pcpu_chosen_fc __initdata = PCPU_FC_AUTO;
static int __init percpu_alloc_setup(char *str)
{
+ if (!str)
+ return -EINVAL;
+
if (0)
/* nada */;
#ifdef CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK