From: Alexey Dobriyan Date: Tue, 31 Jul 2007 07:38:50 +0000 (-0700) Subject: Fix leaks on /proc/{*/sched,sched_debug,timer_list,timer_stats} X-Git-Tag: MMI-PSA29.97-13-9~40956 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5ea473a1dfeca2ee38c5dd458c1174d129e6b64e;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git Fix leaks on /proc/{*/sched,sched_debug,timer_list,timer_stats} On every open/close one struct seq_operations leaks. Kudos to /proc/slab_allocators. Signed-off-by: Alexey Dobriyan Acked-by: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/proc/base.c b/fs/proc/base.c index 3c77d5a64e7c..19489b0d5554 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -927,7 +927,7 @@ static const struct file_operations proc_pid_sched_operations = { .read = seq_read, .write = sched_write, .llseek = seq_lseek, - .release = seq_release, + .release = single_release, }; #endif diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c index 42970f723a97..0eca442b7792 100644 --- a/kernel/sched_debug.c +++ b/kernel/sched_debug.c @@ -200,7 +200,7 @@ static struct file_operations sched_debug_fops = { .open = sched_debug_open, .read = seq_read, .llseek = seq_lseek, - .release = seq_release, + .release = single_release, }; static int __init init_sched_debug_procfs(void) diff --git a/kernel/time/timer_list.c b/kernel/time/timer_list.c index e5edc3a22a08..fdb2e03d4fe0 100644 --- a/kernel/time/timer_list.c +++ b/kernel/time/timer_list.c @@ -267,7 +267,7 @@ static struct file_operations timer_list_fops = { .open = timer_list_open, .read = seq_read, .llseek = seq_lseek, - .release = seq_release, + .release = single_release, }; static int __init init_timer_list_procfs(void) diff --git a/kernel/time/timer_stats.c b/kernel/time/timer_stats.c index 8ed62fda16c6..3c38fb5eae1b 100644 --- a/kernel/time/timer_stats.c +++ b/kernel/time/timer_stats.c @@ -399,7 +399,7 @@ static struct file_operations tstats_fops = { .read = seq_read, .write = tstats_write, .llseek = seq_lseek, - .release = seq_release, + .release = single_release, }; void __init init_timer_stats(void)