projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'tip/perf/urgent-3' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git]
/
kernel
/
trace
/
trace.c
diff --git
a/kernel/trace/trace.c
b/kernel/trace/trace.c
index ba14a22be4cc4aca4af73121a09910dcbebaf050..9ec59f541156625b5c4b0aea9267086c928ae07a 100644
(file)
--- a/
kernel/trace/trace.c
+++ b/
kernel/trace/trace.c
@@
-3463,6
+3463,7
@@
tracing_mark_write(struct file *filp, const char __user *ubuf,
size_t cnt, loff_t *fpos)
{
char *buf;
size_t cnt, loff_t *fpos)
{
char *buf;
+ size_t written;
if (tracing_disabled)
return -EINVAL;
if (tracing_disabled)
return -EINVAL;
@@
-3484,11
+3485,15
@@
tracing_mark_write(struct file *filp, const char __user *ubuf,
} else
buf[cnt] = '\0';
} else
buf[cnt] = '\0';
-
cnt
= mark_printk("%s", buf);
+
written
= mark_printk("%s", buf);
kfree(buf);
kfree(buf);
- *fpos +=
cnt
;
+ *fpos +=
written
;
- return cnt;
+ /* don't tell userspace we wrote more - it might confuse them */
+ if (written > cnt)
+ written = cnt;
+
+ return written;
}
static int tracing_clock_show(struct seq_file *m, void *v)
}
static int tracing_clock_show(struct seq_file *m, void *v)