mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
ftrace: prevent ftrace modifications while being kprobe'd, v2
add two missing chunks for ftrace+kprobe. Signed-off-by: Abhishek Sagar <sagar.abhishek@gmail.com> Cc: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
760378e149
commit
98a05ed4bd
@ -502,8 +502,12 @@ static void ftrace_replace_code(int enable)
|
||||
continue;
|
||||
|
||||
/* ignore updates to this record's mcount site */
|
||||
if (get_kprobe((void *)rec->ip))
|
||||
if (get_kprobe((void *)rec->ip)) {
|
||||
freeze_record(rec);
|
||||
continue;
|
||||
} else {
|
||||
unfreeze_record(rec);
|
||||
}
|
||||
|
||||
failed = __ftrace_replace_code(rec, old, new, enable);
|
||||
if (failed && (rec->flags & FTRACE_FL_CONVERTED)) {
|
||||
@ -740,7 +744,10 @@ static int __ftrace_update_code(void *ignore)
|
||||
ftrace_del_hash(p);
|
||||
INIT_HLIST_NODE(&p->node);
|
||||
hlist_add_head(&p->node, &temp_list);
|
||||
freeze_record(p);
|
||||
continue;
|
||||
} else {
|
||||
unfreeze_record(p);
|
||||
}
|
||||
|
||||
/* convert record (i.e, patch mcount-call with NOP) */
|
||||
|
Loading…
Reference in New Issue
Block a user