aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/ftrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/ftrace.c')
-rw-r--r--kernel/trace/ftrace.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index bb377112b1bb..7b8722baf153 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -341,7 +341,7 @@ static inline int record_frozen(struct dyn_ftrace *rec)
341 341
342static void ftrace_free_rec(struct dyn_ftrace *rec) 342static void ftrace_free_rec(struct dyn_ftrace *rec)
343{ 343{
344 rec->ip = (unsigned long)ftrace_free_records; 344 rec->freelist = ftrace_free_records;
345 ftrace_free_records = rec; 345 ftrace_free_records = rec;
346 rec->flags |= FTRACE_FL_FREE; 346 rec->flags |= FTRACE_FL_FREE;
347} 347}
@@ -379,7 +379,7 @@ static struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip)
379 return NULL; 379 return NULL;
380 } 380 }
381 381
382 ftrace_free_records = (void *)rec->ip; 382 ftrace_free_records = rec->freelist;
383 memset(rec, 0, sizeof(*rec)); 383 memset(rec, 0, sizeof(*rec));
384 return rec; 384 return rec;
385 } 385 }
@@ -411,7 +411,7 @@ ftrace_record_ip(unsigned long ip)
411 return NULL; 411 return NULL;
412 412
413 rec->ip = ip; 413 rec->ip = ip;
414 rec->flags = (unsigned long)ftrace_new_addrs; 414 rec->newlist = ftrace_new_addrs;
415 ftrace_new_addrs = rec; 415 ftrace_new_addrs = rec;
416 416
417 return rec; 417 return rec;
@@ -731,7 +731,7 @@ static int ftrace_update_code(struct module *mod)
731 return -1; 731 return -1;
732 732
733 p = ftrace_new_addrs; 733 p = ftrace_new_addrs;
734 ftrace_new_addrs = (struct dyn_ftrace *)p->flags; 734 ftrace_new_addrs = p->newlist;
735 p->flags = 0L; 735 p->flags = 0L;
736 736
737 /* convert record (i.e, patch mcount-call with NOP) */ 737 /* convert record (i.e, patch mcount-call with NOP) */