mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 17:11:33 +00:00
ftrace: avoid double-free of dyn_ftrace
If dyn_ftrace is freed before ftrace_release(), ftrace_release() will free it again and make ftrace_free_records wrong. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Cc: "Steven Rostedt ;" <rostedt@goodmis.org> LKML-Reference: <49BA23D9.1050900@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
62a394eb77
commit
b00f0b6dc1
@ -356,7 +356,8 @@ void ftrace_release(void *start, unsigned long size)
|
||||
|
||||
mutex_lock(&ftrace_lock);
|
||||
do_for_each_ftrace_rec(pg, rec) {
|
||||
if ((rec->ip >= s) && (rec->ip < e))
|
||||
if ((rec->ip >= s) && (rec->ip < e) &&
|
||||
!(rec->flags & FTRACE_FL_FREE))
|
||||
ftrace_free_rec(rec);
|
||||
} while_for_each_ftrace_rec();
|
||||
mutex_unlock(&ftrace_lock);
|
||||
|
Loading…
Reference in New Issue
Block a user