diff options
Diffstat (limited to 'kernel/trace/trace_stack.c')
-rw-r--r-- | kernel/trace/trace_stack.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c index 2b0d1ee3241c..eec648a0d673 100644 --- a/kernel/trace/trace_stack.c +++ b/kernel/trace/trace_stack.c | |||
@@ -286,7 +286,7 @@ __next(struct seq_file *m, loff_t *pos) | |||
286 | { | 286 | { |
287 | long n = *pos - 1; | 287 | long n = *pos - 1; |
288 | 288 | ||
289 | if (n > stack_trace_max.nr_entries || stack_dump_trace[n] == ULONG_MAX) | 289 | if (n >= stack_trace_max.nr_entries || stack_dump_trace[n] == ULONG_MAX) |
290 | return NULL; | 290 | return NULL; |
291 | 291 | ||
292 | m->private = (void *)n; | 292 | m->private = (void *)n; |
@@ -448,8 +448,10 @@ static char stack_trace_filter_buf[COMMAND_LINE_SIZE+1] __initdata; | |||
448 | 448 | ||
449 | static __init int enable_stacktrace(char *str) | 449 | static __init int enable_stacktrace(char *str) |
450 | { | 450 | { |
451 | if (strncmp(str, "_filter=", 8) == 0) | 451 | int len; |
452 | strncpy(stack_trace_filter_buf, str+8, COMMAND_LINE_SIZE); | 452 | |
453 | if ((len = str_has_prefix(str, "_filter="))) | ||
454 | strncpy(stack_trace_filter_buf, str + len, COMMAND_LINE_SIZE); | ||
453 | 455 | ||
454 | stack_tracer_enabled = 1; | 456 | stack_tracer_enabled = 1; |
455 | last_stack_tracer_enabled = 1; | 457 | last_stack_tracer_enabled = 1; |