[PATCH 2/2] ftrace: Adjust priority of ftrace module notifier

From: Jessica Yu
Date: Fri Jan 29 2016 - 01:44:34 EST


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 <jeyu@xxxxxxxxxx>
---
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