ftrace_ops_test() passed local varible parameter to hash_contains_ip(),
which could result KASAN stack-out-of-bounds warning.

Signed-off-by: Zhizhou Zhang <zhizhouzh...@asrmicro.com>
---
 kernel/trace/ftrace.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index f536f60..6e11f90 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1522,6 +1522,8 @@ ftrace_ops_test(struct ftrace_ops *ops, unsigned long ip, 
void *regs)
        rcu_assign_pointer(hash.filter_hash, ops->func_hash->filter_hash);
        rcu_assign_pointer(hash.notrace_hash, ops->func_hash->notrace_hash);
 
+       kasan_unpoison_task_stack(current);
+
        if (hash_contains_ip(ip, &hash))
                ret = 1;
        else
-- 
2.7.4

Reply via email to