diff options
Diffstat (limited to 'kernel/trace/trace.c')
| -rw-r--r-- | kernel/trace/trace.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 5c38c81496ce..31e4f55773f1 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
| @@ -328,7 +328,7 @@ static DECLARE_WAIT_QUEUE_HEAD(trace_wait); | |||
| 328 | unsigned long trace_flags = TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK | | 328 | unsigned long trace_flags = TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK | |
| 329 | TRACE_ITER_ANNOTATE | TRACE_ITER_CONTEXT_INFO | TRACE_ITER_SLEEP_TIME | | 329 | TRACE_ITER_ANNOTATE | TRACE_ITER_CONTEXT_INFO | TRACE_ITER_SLEEP_TIME | |
| 330 | TRACE_ITER_GRAPH_TIME | TRACE_ITER_RECORD_CMD | TRACE_ITER_OVERWRITE | | 330 | TRACE_ITER_GRAPH_TIME | TRACE_ITER_RECORD_CMD | TRACE_ITER_OVERWRITE | |
| 331 | TRACE_ITER_IRQ_INFO; | 331 | TRACE_ITER_IRQ_INFO | TRACE_ITER_MARKERS; |
| 332 | 332 | ||
| 333 | static int trace_stop_count; | 333 | static int trace_stop_count; |
| 334 | static DEFINE_RAW_SPINLOCK(tracing_start_lock); | 334 | static DEFINE_RAW_SPINLOCK(tracing_start_lock); |
| @@ -426,15 +426,15 @@ __setup("trace_buf_size=", set_buf_size); | |||
| 426 | 426 | ||
| 427 | static int __init set_tracing_thresh(char *str) | 427 | static int __init set_tracing_thresh(char *str) |
| 428 | { | 428 | { |
| 429 | unsigned long threshhold; | 429 | unsigned long threshold; |
| 430 | int ret; | 430 | int ret; |
| 431 | 431 | ||
| 432 | if (!str) | 432 | if (!str) |
| 433 | return 0; | 433 | return 0; |
| 434 | ret = strict_strtoul(str, 0, &threshhold); | 434 | ret = strict_strtoul(str, 0, &threshold); |
| 435 | if (ret < 0) | 435 | if (ret < 0) |
| 436 | return 0; | 436 | return 0; |
| 437 | tracing_thresh = threshhold * 1000; | 437 | tracing_thresh = threshold * 1000; |
| 438 | return 1; | 438 | return 1; |
| 439 | } | 439 | } |
| 440 | __setup("tracing_thresh=", set_tracing_thresh); | 440 | __setup("tracing_thresh=", set_tracing_thresh); |
| @@ -470,6 +470,7 @@ static const char *trace_options[] = { | |||
| 470 | "overwrite", | 470 | "overwrite", |
| 471 | "disable_on_free", | 471 | "disable_on_free", |
| 472 | "irq-info", | 472 | "irq-info", |
| 473 | "markers", | ||
| 473 | NULL | 474 | NULL |
| 474 | }; | 475 | }; |
| 475 | 476 | ||
| @@ -2060,7 +2061,8 @@ print_trace_header(struct seq_file *m, struct trace_iterator *iter) | |||
| 2060 | seq_puts(m, "# -----------------\n"); | 2061 | seq_puts(m, "# -----------------\n"); |
| 2061 | seq_printf(m, "# | task: %.16s-%d " | 2062 | seq_printf(m, "# | task: %.16s-%d " |
| 2062 | "(uid:%d nice:%ld policy:%ld rt_prio:%ld)\n", | 2063 | "(uid:%d nice:%ld policy:%ld rt_prio:%ld)\n", |
| 2063 | data->comm, data->pid, data->uid, data->nice, | 2064 | data->comm, data->pid, |
| 2065 | from_kuid_munged(seq_user_ns(m), data->uid), data->nice, | ||
| 2064 | data->policy, data->rt_priority); | 2066 | data->policy, data->rt_priority); |
| 2065 | seq_puts(m, "# -----------------\n"); | 2067 | seq_puts(m, "# -----------------\n"); |
| 2066 | 2068 | ||
| @@ -3886,6 +3888,9 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, | |||
| 3886 | if (tracing_disabled) | 3888 | if (tracing_disabled) |
| 3887 | return -EINVAL; | 3889 | return -EINVAL; |
| 3888 | 3890 | ||
| 3891 | if (!(trace_flags & TRACE_ITER_MARKERS)) | ||
| 3892 | return -EINVAL; | ||
| 3893 | |||
| 3889 | if (cnt > TRACE_BUF_SIZE) | 3894 | if (cnt > TRACE_BUF_SIZE) |
| 3890 | cnt = TRACE_BUF_SIZE; | 3895 | cnt = TRACE_BUF_SIZE; |
| 3891 | 3896 | ||
| @@ -4195,12 +4200,6 @@ static void buffer_pipe_buf_release(struct pipe_inode_info *pipe, | |||
| 4195 | buf->private = 0; | 4200 | buf->private = 0; |
| 4196 | } | 4201 | } |
| 4197 | 4202 | ||
| 4198 | static int buffer_pipe_buf_steal(struct pipe_inode_info *pipe, | ||
| 4199 | struct pipe_buffer *buf) | ||
| 4200 | { | ||
| 4201 | return 1; | ||
| 4202 | } | ||
| 4203 | |||
| 4204 | static void buffer_pipe_buf_get(struct pipe_inode_info *pipe, | 4203 | static void buffer_pipe_buf_get(struct pipe_inode_info *pipe, |
| 4205 | struct pipe_buffer *buf) | 4204 | struct pipe_buffer *buf) |
| 4206 | { | 4205 | { |
| @@ -4216,7 +4215,7 @@ static const struct pipe_buf_operations buffer_pipe_buf_ops = { | |||
| 4216 | .unmap = generic_pipe_buf_unmap, | 4215 | .unmap = generic_pipe_buf_unmap, |
| 4217 | .confirm = generic_pipe_buf_confirm, | 4216 | .confirm = generic_pipe_buf_confirm, |
| 4218 | .release = buffer_pipe_buf_release, | 4217 | .release = buffer_pipe_buf_release, |
| 4219 | .steal = buffer_pipe_buf_steal, | 4218 | .steal = generic_pipe_buf_steal, |
| 4220 | .get = buffer_pipe_buf_get, | 4219 | .get = buffer_pipe_buf_get, |
| 4221 | }; | 4220 | }; |
| 4222 | 4221 | ||
