| From cf4d418e653afc84c9c873236033e06be5d58f1c Mon Sep 17 00:00:00 2001 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Wed, 28 Mar 2018 16:09:10 +0200 |
| Subject: tracing: Avoid string overflow |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| commit cf4d418e653afc84c9c873236033e06be5d58f1c upstream. |
| |
| 'err' is used as a NUL-terminated string, but using strncpy() with the length |
| equal to the buffer size may result in lack of the termination: |
| |
| kernel/trace/trace_events_hist.c: In function 'hist_err_event': |
| kernel/trace/trace_events_hist.c:396:3: error: 'strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation] |
| strncpy(err, var, MAX_FILTER_STR_VAL); |
| |
| This changes it to use the safer strscpy() instead. |
| |
| Link: http://lkml.kernel.org/r/20180328140920.2842153-1-arnd@arndb.de |
| |
| Cc: stable@vger.kernel.org |
| Fixes: f404da6e1d46 ("tracing: Add 'last error' error facility for hist triggers") |
| Acked-by: Tom Zanussi <tom.zanussi@linux.intel.com> |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| kernel/trace/trace_events_hist.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/kernel/trace/trace_events_hist.c |
| +++ b/kernel/trace/trace_events_hist.c |
| @@ -393,7 +393,7 @@ static void hist_err_event(char *str, ch |
| else if (system) |
| snprintf(err, MAX_FILTER_STR_VAL, "%s.%s", system, event); |
| else |
| - strncpy(err, var, MAX_FILTER_STR_VAL); |
| + strscpy(err, var, MAX_FILTER_STR_VAL); |
| |
| hist_err(str, err); |
| } |