Sparse reports warnings

warning: context imbalance in ftrace_arch_code_modify_prepare()
        - wrong count at exit
warning: context imbalance in ftrace_arch_code_modify_post_process()
        - wrong count at exit

The root cause is that even if
 the annotations on the function are correct,
mutex do not support annotation
This makes Sparse to complain.
To fix this,
__acquire(&text_mutex) and
 __release(&text_mutex) annotations are added
inside ftrace_arch_code_modify_prepare()
and ftrace_arch_code_modify_post_process()
respectively.

Signed-off-by: Jules Irenge <jbi.oct...@gmail.com>
---
 arch/x86/kernel/ftrace.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index 37a0aeaf89e7..737c07ab2e07 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -46,6 +46,7 @@ int ftrace_arch_code_modify_prepare(void)
         * ftrace has it set to "read/write".
         */
        mutex_lock(&text_mutex);
+       __acquire(&text_mutex);
        ftrace_poke_late = 1;
        return 0;
 }
@@ -61,6 +62,7 @@ int ftrace_arch_code_modify_post_process(void)
        text_poke_finish();
        ftrace_poke_late = 0;
        mutex_unlock(&text_mutex);
+       __release(&text_mutex);
        return 0;
 }
 
-- 
2.18.2

Reply via email to