|
@@ -4720,9 +4720,6 @@ __ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
|
|
struct ftrace_ops *op;
|
|
struct ftrace_ops *op;
|
|
int bit;
|
|
int bit;
|
|
|
|
|
|
- if (function_trace_stop)
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
bit = trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX);
|
|
bit = trace_test_and_set_recursion(TRACE_LIST_START, TRACE_LIST_MAX);
|
|
if (bit < 0)
|
|
if (bit < 0)
|
|
return;
|
|
return;
|
|
@@ -4734,9 +4731,8 @@ __ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip,
|
|
preempt_disable_notrace();
|
|
preempt_disable_notrace();
|
|
do_for_each_ftrace_op(op, ftrace_ops_list) {
|
|
do_for_each_ftrace_op(op, ftrace_ops_list) {
|
|
if (ftrace_ops_test(op, ip, regs)) {
|
|
if (ftrace_ops_test(op, ip, regs)) {
|
|
- if (WARN_ON(!op->func)) {
|
|
|
|
- function_trace_stop = 1;
|
|
|
|
- printk("op=%p %pS\n", op, op);
|
|
|
|
|
|
+ if (FTRACE_WARN_ON(!op->func)) {
|
|
|
|
+ pr_warn("op=%p %pS\n", op, op);
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
op->func(ip, parent_ip, op, regs);
|
|
op->func(ip, parent_ip, op, regs);
|