]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - mm/percpu.c
Fix bug
[can-eth-gw-linux.git] / mm / percpu.c
index ddc5efb9c5bbe419d790f7e87af82ec7d30cffbc..8c8e08f3a692ecf614fabd537aa9dc4e00f42b21 100644 (file)
@@ -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