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

function-graph: use ftrace_graph_funcs directly

No need to store ftrace_graph_funcs in file->private.
Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4AB32364.7020602@cn.fujitsu.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 0efb4d20
...@@ -2414,11 +2414,9 @@ unsigned long ftrace_graph_funcs[FTRACE_GRAPH_MAX_FUNCS] __read_mostly; ...@@ -2414,11 +2414,9 @@ unsigned long ftrace_graph_funcs[FTRACE_GRAPH_MAX_FUNCS] __read_mostly;
static void * static void *
__g_next(struct seq_file *m, loff_t *pos) __g_next(struct seq_file *m, loff_t *pos)
{ {
unsigned long *array = m->private;
if (*pos >= ftrace_graph_count) if (*pos >= ftrace_graph_count)
return NULL; return NULL;
return &array[*pos]; return &ftrace_graph_funcs[*pos];
} }
static void * static void *
...@@ -2482,16 +2480,10 @@ ftrace_graph_open(struct inode *inode, struct file *file) ...@@ -2482,16 +2480,10 @@ ftrace_graph_open(struct inode *inode, struct file *file)
ftrace_graph_count = 0; ftrace_graph_count = 0;
memset(ftrace_graph_funcs, 0, sizeof(ftrace_graph_funcs)); memset(ftrace_graph_funcs, 0, sizeof(ftrace_graph_funcs));
} }
mutex_unlock(&graph_lock);
if (file->f_mode & FMODE_READ) { if (file->f_mode & FMODE_READ)
ret = seq_open(file, &ftrace_graph_seq_ops); ret = seq_open(file, &ftrace_graph_seq_ops);
if (!ret) {
struct seq_file *m = file->private_data;
m->private = ftrace_graph_funcs;
}
} else
file->private_data = ftrace_graph_funcs;
mutex_unlock(&graph_lock);
return ret; return ret;
} }
...@@ -2560,7 +2552,6 @@ ftrace_graph_write(struct file *file, const char __user *ubuf, ...@@ -2560,7 +2552,6 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,
size_t cnt, loff_t *ppos) size_t cnt, loff_t *ppos)
{ {
struct trace_parser parser; struct trace_parser parser;
unsigned long *array;
size_t read = 0; size_t read = 0;
ssize_t ret; ssize_t ret;
...@@ -2574,12 +2565,6 @@ ftrace_graph_write(struct file *file, const char __user *ubuf, ...@@ -2574,12 +2565,6 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,
goto out; goto out;
} }
if (file->f_mode & FMODE_READ) {
struct seq_file *m = file->private_data;
array = m->private;
} else
array = file->private_data;
if (trace_parser_get_init(&parser, FTRACE_BUFF_MAX)) { if (trace_parser_get_init(&parser, FTRACE_BUFF_MAX)) {
ret = -ENOMEM; ret = -ENOMEM;
goto out; goto out;
...@@ -2591,7 +2576,7 @@ ftrace_graph_write(struct file *file, const char __user *ubuf, ...@@ -2591,7 +2576,7 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,
parser.buffer[parser.idx] = 0; parser.buffer[parser.idx] = 0;
/* we allow only one expression at a time */ /* we allow only one expression at a time */
ret = ftrace_set_func(array, &ftrace_graph_count, ret = ftrace_set_func(ftrace_graph_funcs, &ftrace_graph_count,
parser.buffer); parser.buffer);
if (ret) if (ret)
goto out; goto out;
......
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