aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/bpf_trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/bpf_trace.c')
-rw-r--r--kernel/trace/bpf_trace.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
index 08fcfe440c63..9864a35c8bb5 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -196,11 +196,13 @@ BPF_CALL_5(bpf_trace_printk, char *, fmt, u32, fmt_size, u64, arg1,
196 i++; 196 i++;
197 } else if (fmt[i] == 'p' || fmt[i] == 's') { 197 } else if (fmt[i] == 'p' || fmt[i] == 's') {
198 mod[fmt_cnt]++; 198 mod[fmt_cnt]++;
199 i++; 199 /* disallow any further format extensions */
200 if (!isspace(fmt[i]) && !ispunct(fmt[i]) && fmt[i] != 0) 200 if (fmt[i + 1] != 0 &&
201 !isspace(fmt[i + 1]) &&
202 !ispunct(fmt[i + 1]))
201 return -EINVAL; 203 return -EINVAL;
202 fmt_cnt++; 204 fmt_cnt++;
203 if (fmt[i - 1] == 's') { 205 if (fmt[i] == 's') {
204 if (str_seen) 206 if (str_seen)
205 /* allow only one '%s' per fmt string */ 207 /* allow only one '%s' per fmt string */
206 return -EINVAL; 208 return -EINVAL;