Commit 87827111 authored by Li Zefan's avatar Li Zefan Committed by Steven Rostedt

function-graph: Fix seqfile memory leak

Every time we cat set_graph_function, we leak memory allocated
by seq_open().
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4A67D907.2010500@cn.fujitsu.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent d8cc1ab7
...@@ -2595,6 +2595,14 @@ ftrace_graph_open(struct inode *inode, struct file *file) ...@@ -2595,6 +2595,14 @@ ftrace_graph_open(struct inode *inode, struct file *file)
return ret; return ret;
} }
static int
ftrace_graph_release(struct inode *inode, struct file *file)
{
if (file->f_mode & FMODE_READ)
seq_release(inode, file);
return 0;
}
static int static int
ftrace_set_func(unsigned long *array, int *idx, char *buffer) ftrace_set_func(unsigned long *array, int *idx, char *buffer)
{ {
...@@ -2724,9 +2732,10 @@ ftrace_graph_write(struct file *file, const char __user *ubuf, ...@@ -2724,9 +2732,10 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,
} }
static const struct file_operations ftrace_graph_fops = { static const struct file_operations ftrace_graph_fops = {
.open = ftrace_graph_open, .open = ftrace_graph_open,
.read = seq_read, .read = seq_read,
.write = ftrace_graph_write, .write = ftrace_graph_write,
.release = ftrace_graph_release,
}; };
#endif /* CONFIG_FUNCTION_GRAPH_TRACER */ #endif /* CONFIG_FUNCTION_GRAPH_TRACER */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment