diff options
Diffstat (limited to 'kernel/trace/trace.c')
| -rw-r--r-- | kernel/trace/trace.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 076fa6f0ee48..3aa0a0dfdfa8 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
| @@ -284,13 +284,12 @@ void trace_wake_up(void) | |||
| 284 | static int __init set_buf_size(char *str) | 284 | static int __init set_buf_size(char *str) |
| 285 | { | 285 | { |
| 286 | unsigned long buf_size; | 286 | unsigned long buf_size; |
| 287 | int ret; | ||
| 288 | 287 | ||
| 289 | if (!str) | 288 | if (!str) |
| 290 | return 0; | 289 | return 0; |
| 291 | ret = strict_strtoul(str, 0, &buf_size); | 290 | buf_size = memparse(str, &str); |
| 292 | /* nr_entries can not be zero */ | 291 | /* nr_entries can not be zero */ |
| 293 | if (ret < 0 || buf_size == 0) | 292 | if (buf_size == 0) |
| 294 | return 0; | 293 | return 0; |
| 295 | trace_buf_size = buf_size; | 294 | trace_buf_size = buf_size; |
| 296 | return 1; | 295 | return 1; |
| @@ -2053,25 +2052,23 @@ static int tracing_open(struct inode *inode, struct file *file) | |||
| 2053 | static void * | 2052 | static void * |
| 2054 | t_next(struct seq_file *m, void *v, loff_t *pos) | 2053 | t_next(struct seq_file *m, void *v, loff_t *pos) |
| 2055 | { | 2054 | { |
| 2056 | struct tracer *t = m->private; | 2055 | struct tracer *t = v; |
| 2057 | 2056 | ||
| 2058 | (*pos)++; | 2057 | (*pos)++; |
| 2059 | 2058 | ||
| 2060 | if (t) | 2059 | if (t) |
| 2061 | t = t->next; | 2060 | t = t->next; |
| 2062 | 2061 | ||
| 2063 | m->private = t; | ||
| 2064 | |||
| 2065 | return t; | 2062 | return t; |
| 2066 | } | 2063 | } |
| 2067 | 2064 | ||
| 2068 | static void *t_start(struct seq_file *m, loff_t *pos) | 2065 | static void *t_start(struct seq_file *m, loff_t *pos) |
| 2069 | { | 2066 | { |
| 2070 | struct tracer *t = m->private; | 2067 | struct tracer *t; |
| 2071 | loff_t l = 0; | 2068 | loff_t l = 0; |
| 2072 | 2069 | ||
| 2073 | mutex_lock(&trace_types_lock); | 2070 | mutex_lock(&trace_types_lock); |
| 2074 | for (; t && l < *pos; t = t_next(m, t, &l)) | 2071 | for (t = trace_types; t && l < *pos; t = t_next(m, t, &l)) |
| 2075 | ; | 2072 | ; |
| 2076 | 2073 | ||
| 2077 | return t; | 2074 | return t; |
| @@ -2107,18 +2104,10 @@ static struct seq_operations show_traces_seq_ops = { | |||
| 2107 | 2104 | ||
| 2108 | static int show_traces_open(struct inode *inode, struct file *file) | 2105 | static int show_traces_open(struct inode *inode, struct file *file) |
| 2109 | { | 2106 | { |
| 2110 | int ret; | ||
| 2111 | |||
| 2112 | if (tracing_disabled) | 2107 | if (tracing_disabled) |
| 2113 | return -ENODEV; | 2108 | return -ENODEV; |
| 2114 | 2109 | ||
| 2115 | ret = seq_open(file, &show_traces_seq_ops); | 2110 | return seq_open(file, &show_traces_seq_ops); |
| 2116 | if (!ret) { | ||
| 2117 | struct seq_file *m = file->private_data; | ||
| 2118 | m->private = trace_types; | ||
| 2119 | } | ||
| 2120 | |||
| 2121 | return ret; | ||
| 2122 | } | 2111 | } |
| 2123 | 2112 | ||
| 2124 | static ssize_t | 2113 | static ssize_t |
