forked from Minki/linux
tracing/probes: Fix a warning message to show correct maximum length
Since tracing/*probe_events will accept a probe definition up to 4096 - 2 ('\n' and '\0') bytes, it must show 4094 instead of 4096 in warning message. Note that there is one possible case of exceed 4094. If user prepare 4096 bytes null-terminated string and syscall write it with the count == 4095, then it can be accepted. However, if user puts a '\n' after that, it must rejected. So IMHO, the warning message should indicate shorter one, since it is safer. Link: http://lkml.kernel.org/r/148673290462.2579.7966778294009665632.stgit@devbox Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
8f0994bb8c
commit
bef5da6059
@ -679,8 +679,9 @@ ssize_t traceprobe_probes_write(struct file *file, const char __user *buffer,
|
|||||||
if (done + size < count) {
|
if (done + size < count) {
|
||||||
if (buf != kbuf)
|
if (buf != kbuf)
|
||||||
break;
|
break;
|
||||||
|
/* This can accept WRITE_BUFSIZE - 2 ('\n' + '\0') */
|
||||||
pr_warn("Line length is too long: Should be less than %d\n",
|
pr_warn("Line length is too long: Should be less than %d\n",
|
||||||
WRITE_BUFSIZE);
|
WRITE_BUFSIZE - 2);
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user