diff options
Diffstat (limited to 'kernel/trace/ftrace.c')
| -rw-r--r-- | kernel/trace/ftrace.c | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 6d2cb14f9449..0d88ce9b9fb8 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
| @@ -1883,7 +1883,6 @@ function_trace_probe_call(unsigned long ip, unsigned long parent_ip) | |||
| 1883 | struct hlist_head *hhd; | 1883 | struct hlist_head *hhd; | 
| 1884 | struct hlist_node *n; | 1884 | struct hlist_node *n; | 
| 1885 | unsigned long key; | 1885 | unsigned long key; | 
| 1886 | int resched; | ||
| 1887 | 1886 | ||
| 1888 | key = hash_long(ip, FTRACE_HASH_BITS); | 1887 | key = hash_long(ip, FTRACE_HASH_BITS); | 
| 1889 | 1888 | ||
| @@ -1897,12 +1896,12 @@ function_trace_probe_call(unsigned long ip, unsigned long parent_ip) | |||
| 1897 | * period. This syncs the hash iteration and freeing of items | 1896 | * period. This syncs the hash iteration and freeing of items | 
| 1898 | * on the hash. rcu_read_lock is too dangerous here. | 1897 | * on the hash. rcu_read_lock is too dangerous here. | 
| 1899 | */ | 1898 | */ | 
| 1900 | resched = ftrace_preempt_disable(); | 1899 | preempt_disable_notrace(); | 
| 1901 | hlist_for_each_entry_rcu(entry, n, hhd, node) { | 1900 | hlist_for_each_entry_rcu(entry, n, hhd, node) { | 
| 1902 | if (entry->ip == ip) | 1901 | if (entry->ip == ip) | 
| 1903 | entry->ops->func(ip, parent_ip, &entry->data); | 1902 | entry->ops->func(ip, parent_ip, &entry->data); | 
| 1904 | } | 1903 | } | 
| 1905 | ftrace_preempt_enable(resched); | 1904 | preempt_enable_notrace(); | 
| 1906 | } | 1905 | } | 
| 1907 | 1906 | ||
| 1908 | static struct ftrace_ops trace_probe_ops __read_mostly = | 1907 | static struct ftrace_ops trace_probe_ops __read_mostly = | 
