فهرست منبع

percpu: fix a memory leak in pcpu_extend_area_map()

The original code did not free the old map.  This patch fixes it.

tj: use @old as memcpy source instead of @chunk->map, and indentation
    and description update

Signed-off-by: Huang Shijie <shijie8@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@kernel.org
Huang Shijie 15 سال پیش
والد
کامیت
a002d14842
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      mm/percpu.c

+ 3 - 1
mm/percpu.c

@@ -393,7 +393,9 @@ static int pcpu_extend_area_map(struct pcpu_chunk *chunk, int new_alloc)
 		goto out_unlock;
 		goto out_unlock;
 
 
 	old_size = chunk->map_alloc * sizeof(chunk->map[0]);
 	old_size = chunk->map_alloc * sizeof(chunk->map[0]);
-	memcpy(new, chunk->map, old_size);
+	old = chunk->map;
+
+	memcpy(new, old, old_size);
 
 
 	chunk->map_alloc = new_alloc;
 	chunk->map_alloc = new_alloc;
 	chunk->map = new;
 	chunk->map = new;