aboutsummaryrefslogtreecommitdiffstats
path: root/trace-ftrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'trace-ftrace.c')
-rw-r--r--trace-ftrace.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/trace-ftrace.c b/trace-ftrace.c
index 7be0ed6..d050738 100644
--- a/trace-ftrace.c
+++ b/trace-ftrace.c
@@ -354,7 +354,6 @@ trace_stack_handler(struct trace_seq *s, struct record *record,
354 unsigned long long addr; 354 unsigned long long addr;
355 const char *func; 355 const char *func;
356 void *data = record->data; 356 void *data = record->data;
357 int i;
358 357
359 field = pevent_find_any_field(event, "caller"); 358 field = pevent_find_any_field(event, "caller");
360 if (!field) { 359 if (!field) {
@@ -366,9 +365,9 @@ trace_stack_handler(struct trace_seq *s, struct record *record,
366 365
367 long_size_check(finfo); 366 long_size_check(finfo);
368 367
369 for (i = 0; i < field->size; i += finfo->long_size) { 368 for (data += field->offset; data < record->data + record->size;
370 addr = pevent_read_number(event->pevent, 369 data += finfo->long_size) {
371 data + field->offset + i, finfo->long_size); 370 addr = pevent_read_number(event->pevent, data, finfo->long_size);
372 371
373 if ((finfo->long_size == 8 && addr == (unsigned long long)-1) || 372 if ((finfo->long_size == 8 && addr == (unsigned long long)-1) ||
374 ((int)addr == -1)) 373 ((int)addr == -1))