Re: [PATCH tip/master] tracing/probes: Fix a warning message to show correct maximum length

From: Ingo Molnar
Date: Tue Feb 07 2017 - 02:42:07 EST



* Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> 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.
>
> Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> ---
> kernel/trace/trace_probe.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
> index 8c0553d..7138fea 100644
> --- a/kernel/trace/trace_probe.c
> +++ b/kernel/trace/trace_probe.c
> @@ -673,8 +673,9 @@ ssize_t traceprobe_probes_write(struct file *file, const char __user *buffer,
> *tmp = '\0';
> size = tmp - kbuf + 1;
> } else if (done + size < count) {
> + /* This can accept WRITE_BUFSIZE - 2 ('\n' + '\0') */
> pr_warn("Line length is too long: Should be less than %d\n",
> - WRITE_BUFSIZE);
> + WRITE_BUFSIZE - 2);

The message should also indicate which kernel subsystem generated it - which is
useful if the message is not immediately noticed in the kernel log.

You can do this by having something like this at the top of the trace_probe file:

#define pr_fmt(fmt) "trace_probe: " fmt

Thanks,

Ingo