Commit
a002d148426f40bc2b7dc066982eb177cdebeaaa
Exists in
master
and in
20 other branches
dlt-processor-sdk-linux-03.00.00.04, newt-ti-linux-3.12.y, processor-sdk-linux-01.00.00, processor-sdk-linux-02.00.01, smarc-ti-linux-3.12.10, smarc-ti-linux-3.12.y, smarc-ti-linux-3.14.y, smarc-ti-linux-3.15.y, smarc-ti-lsk-linux-4.1.y, smarct3x-processor-sdk-04.01.00.06, smarct3x-processor-sdk-linux-02.00.01, smarct3x-processor-sdk-linux-03.00.00.04, smarct4x-800-processor-sdk-linux-02.00.01, smarct4x-processor-sdk-04.01.00.06, smarct4x-processor-sdk-linux-02.00.01, smarct4x-processor-sdk-linux-03.00.00.04, ti-linux-3.12.y, ti-linux-3.14.y, ti-linux-3.15.y, ti-lsk-linux-4.1.y
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
Showing
1 changed file
with
3 additions
and
1 deletions
Side-by-side Diff
... |
... |
@@ -393,7 +393,9 @@ |
393
|
393 |
goto out_unlock; |
394
|
394 |
|
395
|
395 |
old_size = chunk->map_alloc * sizeof(chunk->map[0]); |
396
|
|
- memcpy(new, chunk->map, old_size); |
|
396 |
+ old = chunk->map; |
|
397 |
+ |
|
398 |
+ memcpy(new, old, old_size); |
397
|
399 |
|
398
|
400 |
chunk->map_alloc = new_alloc; |
399
|
401 |
chunk->map = new; |