Messages in this thread | | | Date | Thu, 5 May 2005 11:11:31 +0200 | Subject | Holding ref to /proc/<pid> dentry prevents task being freed | From | bmerry@cs ... |
| |
[Please CC me on replies. I'm not subscribed to LKML]
Hi
I'm busy writing a security module that does some very basic ACL stuff on a per-task basis. If my module obtains and holds a dentry for /proc/<pid> (via path_lookup), then the task_free_security hook is never called for that process. Since the module releases the dentry in task_free_security, this creates a chicken-and-egg problem and neither the task nor the dentry is ever released. A side-effect is that the module refcount never drops to 0.
Perhaps the LSM framework needs a hook for a task exiting (transition to zombie state), in addition to the task_free_security hook? That would allow resources to be freed from zombies, including these types of circular references.
Thanks Bruce
[Please CC me on replies. I'm not subscribed to LKML] -- /--------------------------------------------------------------------\ | Bruce Merry | bmerry at cs . uct . ac . za | | Proud user of Gentoo GNU/Linux | http://www.cs.uct.ac.za/~bmerry | | Despite the high cost of living, it remains popular. | \--------------------------------------------------------------------/ - 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/
| |