[PATCH 4/5] x86/ftrace: Add annotations for ftrace_arch_code_modify_prepare() and ftrace_arch_code_modify_post_process()

From: Jules Irenge
Date: Mon Jun 01 2020 - 14:46:36 EST


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.octave@xxxxxxxxx>
---
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