diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/trace.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index abdd333a0825..5314c90bbc83 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -1392,8 +1392,10 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) | |||
1392 | entry->fmt = fmt; | 1392 | entry->fmt = fmt; |
1393 | 1393 | ||
1394 | memcpy(entry->buf, trace_buf, sizeof(u32) * len); | 1394 | memcpy(entry->buf, trace_buf, sizeof(u32) * len); |
1395 | if (!filter_check_discard(call, entry, buffer, event)) | 1395 | if (!filter_check_discard(call, entry, buffer, event)) { |
1396 | ring_buffer_unlock_commit(buffer, event); | 1396 | ring_buffer_unlock_commit(buffer, event); |
1397 | ftrace_trace_stack(buffer, flags, 6, pc); | ||
1398 | } | ||
1397 | 1399 | ||
1398 | out_unlock: | 1400 | out_unlock: |
1399 | arch_spin_unlock(&trace_buf_lock); | 1401 | arch_spin_unlock(&trace_buf_lock); |
@@ -1466,8 +1468,10 @@ int trace_array_vprintk(struct trace_array *tr, | |||
1466 | 1468 | ||
1467 | memcpy(&entry->buf, trace_buf, len); | 1469 | memcpy(&entry->buf, trace_buf, len); |
1468 | entry->buf[len] = '\0'; | 1470 | entry->buf[len] = '\0'; |
1469 | if (!filter_check_discard(call, entry, buffer, event)) | 1471 | if (!filter_check_discard(call, entry, buffer, event)) { |
1470 | ring_buffer_unlock_commit(buffer, event); | 1472 | ring_buffer_unlock_commit(buffer, event); |
1473 | ftrace_trace_stack(buffer, irq_flags, 6, pc); | ||
1474 | } | ||
1471 | 1475 | ||
1472 | out_unlock: | 1476 | out_unlock: |
1473 | arch_spin_unlock(&trace_buf_lock); | 1477 | arch_spin_unlock(&trace_buf_lock); |