sched: fix a memory leak in __sdt_free()
PATCH 1/1 sched: fix a memory leak in __sdt_free()
This patch fixes the following memory leak:
unreferenced object 0xffff880107266800 (size 512):
comm "sched-powersave", pid 3718, jiffies 4323097853 (age 27495.450s) hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81133940>] create_object+0x187/0x28b
[<ffffffff814ac103>] kmemleak_alloc+0x73/0x98
[<ffffffff811232ba>] __kmalloc_node+0x104/0x159
[<ffffffff81044b98>] kzalloc_node.clone.97+0x15/0x17
[<ffffffff8104cb90>] build_sched_domains+0xb7/0x7f3
[<ffffffff8104d4df>] partition_sched_domains+0x1db/0x24a
[<ffffffff8109ee4a>] do_rebuild_sched_domains+0x3b/0x47
[<ffffffff810a00c7>] rebuild_sched_domains+0x10/0x12
[<ffffffff8104d5ba>] sched_power_savings_store+0x6c/0x7b
[<ffffffff8104d5df>] sched_mc_power_savings_store+0x16/0x18
[<ffffffff8131322c>] sysdev_class_store+0x20/0x22
[<ffffffff81193876>] sysfs_write_file+0x108/0x144
[<ffffffff81135b10>] vfs_write+0xaf/0x102
[<ffffffff81135d23>] sys_write+0x4d/0x74
[<ffffffff814c8a42>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffffSigned-off-by WANG Cong <[email protected]>
---
kernel/sched.c +1 -0
@@ -7443,6 +7443,7 @@ static void __sdt_free(const struct cpumask *cpu_map)struct sched_domain *sd = *per_cpu_ptr (sdd->sd, j);if (sd && (sd->flags &SD_OVERLAP ))free_sched_groups (sd->groups,0 ); +kfree (*per_cpu_ptr (sdd->sd, j));kfree (*per_cpu_ptr (sdd->sg, j));kfree (*per_cpu_ptr (sdd->sgp, j)); }
[tip:sched/urgent] sched: Fix a memory leak in __sdt_free()
Commit-ID: feff8fa0075bdfd43c841e9d689ed81adda988d6 Gitweb: http://git.kernel.org/tip/feff8fa0075bdfd43c841e9d689ed81adda988d6 Author: WANG Cong <[email protected]> AuthorDate: Thu, 18 Aug 2011 20:36:57 +0800 Committer: Ingo Molnar <[email protected]> CommitDate: Mon, 29 Aug 2011 12:27:01 +0200
sched: Fix a memory leak in __sdt_free()
This patch fixes the following memory leak:
unreferenced object 0xffff880107266800 (size 512):
comm "sched-powersave", pid 3718, jiffies 4323097853 (age 27495.450s) hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff81133940>] create_object+0x187/0x28b
[<ffffffff814ac103>] kmemleak_alloc+0x73/0x98
[<ffffffff811232ba>] __kmalloc_node+0x104/0x159
[<ffffffff81044b98>] kzalloc_node.clone.97+0x15/0x17
[<ffffffff8104cb90>] build_sched_domains+0xb7/0x7f3
[<ffffffff8104d4df>] partition_sched_domains+0x1db/0x24a
[<ffffffff8109ee4a>] do_rebuild_sched_domains+0x3b/0x47
[<ffffffff810a00c7>] rebuild_sched_domains+0x10/0x12
[<ffffffff8104d5ba>] sched_power_savings_store+0x6c/0x7b
[<ffffffff8104d5df>] sched_mc_power_savings_store+0x16/0x18
[<ffffffff8131322c>] sysdev_class_store+0x20/0x22
[<ffffffff81193876>] sysfs_write_file+0x108/0x144
[<ffffffff81135b10>] vfs_write+0xaf/0x102
[<ffffffff81135d23>] sys_write+0x4d/0x74
[<ffffffff814c8a42>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffffSigned-off-by WANG Cong <[email protected]>
Signed-off-by Peter Zijlstra <[email protected]>
Cc [email protected] # 3.0
Signed-off-by Ingo Molnar <[email protected]>
--- kernel/sched.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
kernel/sched.c +1 -0
@@ -7453,6 +7453,7 @@ static void __sdt_free(const struct cpumask *cpu_map)struct sched_domain *sd = *per_cpu_ptr (sdd->sd, j);if (sd && (sd->flags &SD_OVERLAP ))free_sched_groups (sd->groups,0 ); +kfree (*per_cpu_ptr (sdd->sd, j));kfree (*per_cpu_ptr (sdd->sg, j));kfree (*per_cpu_ptr (sdd->sgp, j)); }