From: Steven Rostedt <rost...@goodmis.org>

Check if a function is already in the manager ops of a subops. A manager
ops contains multiple subops, and if two or more subops are tracing the
same function, the manager ops only needs a single entry in its hash.

Cc: sta...@vger.kernel.org
Fixes: 4f554e955614f ("ftrace: Add ftrace_set_filter_ips function")
Tested-by: Heiko Carstens <h...@linux.ibm.com>
Reviewed-by: Masami Hiramatsu (Google) <mhira...@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rost...@goodmis.org>
---
 kernel/trace/ftrace.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index bec54dc27204..6b0c25761ccb 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -5718,6 +5718,9 @@ __ftrace_match_addr(struct ftrace_hash *hash, unsigned 
long ip, int remove)
                        return -ENOENT;
                free_hash_entry(hash, entry);
                return 0;
+       } else if (__ftrace_lookup_ip(hash, ip) != NULL) {
+               /* Already exists */
+               return 0;
        }
 
        entry = add_hash_entry(hash, ip);
-- 
2.47.2



Reply via email to