diff --git a/mm/percpu.c b/mm/percpu.c
index ddc5efb9c5bbe419d790f7e87af82ec7d30cffbc..ec2589616e7d122cf097175bf0597b6fa21e9626 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);
 }
 
 /*