summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-12 08:15:53 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-12 08:15:53 -0800
commitfef3ff2eb777e76cfa5ae67591982d902c17139c (patch)
tree70ec1ae7b5db98dfc5efa2adfabf798dfb9e7694
parente7b55b8fcd3a32ba1f95ccd95fb9a11ccfa63563 (diff)
parent5479c78ac6f688ea5ea8c49b44cf90ea87b63931 (diff)
Merge branch 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
Pull percpu changes from Tejun Heo: "Nothing exciting here either. Joonsoo's is almost cosmetic. Cyrill's patch fixes "percpu_alloc" early kernel param handling so that the kernel doesn't crash when the parameter is specified w/o any argument." * 'for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: mm, percpu: Make sure percpu_alloc early parameter has an argument percpu: make pcpu_free_chunk() use pcpu_mem_free() instead of kfree()
-rw-r--r--mm/percpu.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/percpu.c b/mm/percpu.c
index ddc5efb9c5bb..8c8e08f3a692 100644
--- a/mm/percpu.c
+++ b/mm/percpu.c
@@ -631,7 +631,7 @@ static void pcpu_free_chunk(struct pcpu_chunk *chunk)
if (!chunk)
return;
pcpu_mem_free(chunk->map, chunk->map_alloc * sizeof(chunk->map[0]));
- kfree(chunk);
+ pcpu_mem_free(chunk, pcpu_chunk_struct_size);
}
/*
@@ -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