Messages in this thread | | | Date | Thu, 08 Jan 2009 00:08:09 +0100 | From | Jiri Slaby <> | Subject | broken daemonize (COW credentials?) |
| |
Hi,
I'm observing daemonize crashes with this code: static struct pid *pid; static DECLARE_COMPLETION(comp);
static int bubak(void *data) { daemonize("bubak"); while (!signal_pending(current)) msleep_interruptible(5000); complete_and_exit(&comp, 0); return 0; }
static int init1(void) <-- module_init function { int ret;
ret = kernel_thread(bubak, NULL, 0); if (ret < 0) return ret; pid = find_get_pid(ret); return 0; } ----------------------- cut here -------------------
This is due to: daemonize -> exit_mm -> tsk->mm = NULL; (i.e. current->mm) -> reparent_to_kthreadd -> commit_creds -> set_dumpable(task->mm, suid_dumpable); (i.e. current->mm)
The culprit is probably COW credentials. David?
| |