|
@@ -1361,11 +1361,7 @@ int trace_array_vprintk(struct trace_array *tr,
|
|
|
pause_graph_tracing();
|
|
|
raw_local_irq_save(irq_flags);
|
|
|
__raw_spin_lock(&trace_buf_lock);
|
|
|
- if (args == NULL) {
|
|
|
- strncpy(trace_buf, fmt, TRACE_BUF_SIZE);
|
|
|
- len = strlen(trace_buf);
|
|
|
- } else
|
|
|
- len = vsnprintf(trace_buf, TRACE_BUF_SIZE, fmt, args);
|
|
|
+ len = vsnprintf(trace_buf, TRACE_BUF_SIZE, fmt, args);
|
|
|
|
|
|
size = sizeof(*entry) + len + 1;
|
|
|
buffer = tr->buffer;
|
|
@@ -3353,6 +3349,16 @@ tracing_entries_write(struct file *filp, const char __user *ubuf,
|
|
|
return cnt;
|
|
|
}
|
|
|
|
|
|
+static int mark_printk(const char *fmt, ...)
|
|
|
+{
|
|
|
+ int ret;
|
|
|
+ va_list args;
|
|
|
+ va_start(args, fmt);
|
|
|
+ ret = trace_vprintk(0, fmt, args);
|
|
|
+ va_end(args);
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+
|
|
|
static ssize_t
|
|
|
tracing_mark_write(struct file *filp, const char __user *ubuf,
|
|
|
size_t cnt, loff_t *fpos)
|
|
@@ -3379,7 +3385,7 @@ tracing_mark_write(struct file *filp, const char __user *ubuf,
|
|
|
} else
|
|
|
buf[cnt] = '\0';
|
|
|
|
|
|
- cnt = trace_vprintk(0, buf, NULL);
|
|
|
+ cnt = mark_printk("%s", buf);
|
|
|
kfree(buf);
|
|
|
*fpos += cnt;
|
|
|
|