On Thu, Jun 27, 2019 at 09:18:19PM -0400, Steven Rostedt wrote: > > From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx> > > Taking the text_mutex in ftrace_arch_code_modify_prepare() is to fix a > race against module loading and live kernel patching that might try to > change the text permissions while ftrace has it as read/write. This > really needs to be documented in the code. Add a comment that does such. > > Suggested-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> > --- > arch/x86/kernel/ftrace.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c > index 33786044d5ac..d7e93b2783fd 100644 > --- a/arch/x86/kernel/ftrace.c > +++ b/arch/x86/kernel/ftrace.c > @@ -36,6 +36,11 @@ > > int ftrace_arch_code_modify_prepare(void) > { > + /* > + * Need to grab text_mutex to prevent a race from module loading > + * and live kernel patching from changing the text permissions while > + * ftrace has it set to "read/write". > + */ > mutex_lock(&text_mutex); > set_kernel_text_rw(); > set_all_modules_text_rw(); > -- > 2.20.1 > Reviewed-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> -- Josh