|
@@ -1811,22 +1811,27 @@ int __weak ftrace_arch_code_modify_post_process(void)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int __ftrace_modify_code(void *data)
|
|
|
+void ftrace_modify_all_code(int command)
|
|
|
{
|
|
|
- int *command = data;
|
|
|
-
|
|
|
- if (*command & FTRACE_UPDATE_CALLS)
|
|
|
+ if (command & FTRACE_UPDATE_CALLS)
|
|
|
ftrace_replace_code(1);
|
|
|
- else if (*command & FTRACE_DISABLE_CALLS)
|
|
|
+ else if (command & FTRACE_DISABLE_CALLS)
|
|
|
ftrace_replace_code(0);
|
|
|
|
|
|
- if (*command & FTRACE_UPDATE_TRACE_FUNC)
|
|
|
+ if (command & FTRACE_UPDATE_TRACE_FUNC)
|
|
|
ftrace_update_ftrace_func(ftrace_trace_function);
|
|
|
|
|
|
- if (*command & FTRACE_START_FUNC_RET)
|
|
|
+ if (command & FTRACE_START_FUNC_RET)
|
|
|
ftrace_enable_ftrace_graph_caller();
|
|
|
- else if (*command & FTRACE_STOP_FUNC_RET)
|
|
|
+ else if (command & FTRACE_STOP_FUNC_RET)
|
|
|
ftrace_disable_ftrace_graph_caller();
|
|
|
+}
|
|
|
+
|
|
|
+static int __ftrace_modify_code(void *data)
|
|
|
+{
|
|
|
+ int *command = data;
|
|
|
+
|
|
|
+ ftrace_modify_all_code(*command);
|
|
|
|
|
|
return 0;
|
|
|
}
|