Messages in this thread | | | Subject | RE: [PATCH 2.6.9] fork: add a hook in do_fork() | From | Guillaume Thouvenin <> | Date | Tue, 23 Nov 2004 11:14:03 +0100 |
| |
On Tue, 2004-11-23 at 01:59 -0800, Hua Zhong wrote: > > + static int fork_hook_id = 0; > > + > > + /* We can set the hook if it's not already used */ > > + if ((func != NULL) && (fork_hook_id == 0)) { > > + fork_hook = func; > > + fork_hook_id = id; > > + return 0; > > + } > > What happens if two modules are calling the same function at the same time?
You are right there is a problem. I need to add a lock.
> > + > > + if (fork_hook != NULL) > > + fork_hook(current->pid, pid); > > + > > return pid; > > What happens if the module is unloaded between the test and the call to > fork_hook?
Again you are right and I need to protect that.
In fact, Greg suggests to use LSM hook and it seams that it does what I need. So my patch is obsolete now.
Thank you to everybody for your help, Best Regards,
Guillaume
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |