Adjust the priority of the ftrace module notifier such that it will run before the livepatch coming module notifier but after the livepatch going module modifier.
This fixes a notifier ordering issue in which the ftrace module notifier (and hence ftrace_module_enable()) for COMING modules was being called after klp_module_notify(), which caused livepatch modules to initialize incorrectly. Signed-off-by: Jessica Yu <j...@redhat.com> --- kernel/trace/ftrace.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index eca592f..bdd7bfc 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -5067,7 +5067,12 @@ static int ftrace_module_notify(struct notifier_block *self, struct notifier_block ftrace_module_nb = { .notifier_call = ftrace_module_notify, - .priority = INT_MIN, /* Run after anything that can remove kprobes */ + /* + * Run after anything that can remove kprobes and + * after livepatch's going notifier, but run before + * livepatch's coming notifier. + */ + .priority = INT_MIN+1, }; void __init ftrace_init(void) -- 2.4.3