Skip to contentSkip to conversation

module: Add MODULE_STATE_LIVE notify

PATCH In review Masami Hiramatsu 2 participants 2 messages Nov 11, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 6/7 module: Add MODULE_STATE_LIVE notify

Add a module notifier call which notifies that the state of a module changes from MODULE_STATE_COMING to MODULE_STATE_LIVE.

---
 kernel/module.c |    2 ++
 1 file changed, 2 insertions(+)

Steven, Ananth told me that this patch might also help to solve cmpxchg problem.

kernel/module.c +2 -0
Index: 2.6.28-rc4/kernel/module.c
===================================================================
@@ -2346,6 +2346,8 @@ sys_init_module(void __user *umod,
 	/* Now it's a first class citizen!  Wake up anyone waiting for it. */
 	mod->state = MODULE_STATE_LIVE;
 	wake_up(&module_wq);
+	blocking_notifier_call_chain(&module_notify_list,
+				     MODULE_STATE_LIVE, mod);
 
 	mutex_lock(&module_mutex);
 	/* Drop initial reference. */
Signature · 7 lines
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: [email protected]
#1 lore raw
Quoted 10 lines · Masami Hiramatsu

Add a module notifier call which notifies that the state of a module changes from MODULE_STATE_COMING to MODULE_STATE_LIVE.

---
 kernel/module.c |    2 ++
 1 file changed, 2 insertions(+)

Steven, Ananth told me that this patch might also help to solve cmpxchg problem.

I'm assuming you are talking about the infamous e1000e ftrace cmpxchg corruption bug?

In anycase, ftrace has already solved those issues, and does not use cmpxchg anymore.

Thanks anyway,

-- Steve

Quoted 26 lines

Index: 2.6.28-rc4/kernel/module.c
===================================================================

kernel/module.c +2 -0
@@ -2346,6 +2346,8 @@ sys_init_module(void __user *umod,
 	/* Now it's a first class citizen!  Wake up anyone waiting for it. */
 	mod->state = MODULE_STATE_LIVE;
 	wake_up(&module_wq);
+	blocking_notifier_call_chain(&module_notify_list,
+				     MODULE_STATE_LIVE, mod);
 
 	mutex_lock(&module_mutex);
 	/* Drop initial reference. */
Signature · 8 lines
-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: [email protected]