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 <adobriyan@sw.ru> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
ff8e210a95
commit
5ea473a1df
@@ -927,7 +927,7 @@ static const struct file_operations proc_pid_sched_operations = {
|
|||||||
.read = seq_read,
|
.read = seq_read,
|
||||||
.write = sched_write,
|
.write = sched_write,
|
||||||
.llseek = seq_lseek,
|
.llseek = seq_lseek,
|
||||||
.release = seq_release,
|
.release = single_release,
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -200,7 +200,7 @@ static struct file_operations sched_debug_fops = {
|
|||||||
.open = sched_debug_open,
|
.open = sched_debug_open,
|
||||||
.read = seq_read,
|
.read = seq_read,
|
||||||
.llseek = seq_lseek,
|
.llseek = seq_lseek,
|
||||||
.release = seq_release,
|
.release = single_release,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init init_sched_debug_procfs(void)
|
static int __init init_sched_debug_procfs(void)
|
||||||
|
@@ -267,7 +267,7 @@ static struct file_operations timer_list_fops = {
|
|||||||
.open = timer_list_open,
|
.open = timer_list_open,
|
||||||
.read = seq_read,
|
.read = seq_read,
|
||||||
.llseek = seq_lseek,
|
.llseek = seq_lseek,
|
||||||
.release = seq_release,
|
.release = single_release,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init init_timer_list_procfs(void)
|
static int __init init_timer_list_procfs(void)
|
||||||
|
@@ -399,7 +399,7 @@ static struct file_operations tstats_fops = {
|
|||||||
.read = seq_read,
|
.read = seq_read,
|
||||||
.write = tstats_write,
|
.write = tstats_write,
|
||||||
.llseek = seq_lseek,
|
.llseek = seq_lseek,
|
||||||
.release = seq_release,
|
.release = single_release,
|
||||||
};
|
};
|
||||||
|
|
||||||
void __init init_timer_stats(void)
|
void __init init_timer_stats(void)
|
||||||
|
Reference in New Issue
Block a user