> Hi, > > I've got a followning problem. > I am trying to start a kernel thread. I do this by calling kernel_thread > from module's init function with CLONE_VM|CLONE_FS|CLONE_FILES. > (The same are used several times in kernel, CLONE_VM is always added inside > anyway). Then the thread calls daemonize(). It works, except that after second > ps I get a BUG in mmdrop, that is a check for destroying init_mm. > > The problem seems to be, that while kernel_thread() references the mm of > current process (insmod), the thread starts whith mm == &init_mm. > And exit_mm in daemonize is called on this, breaking it's ref-count. > > I test this on the user-mode port. > I am not able to trace down where the memory map gets changet. Please, tell > me what should I look for. there is a bug before 2.4.17-um9 or so in the uml code which i was able to trigger and traced enough for jdike to find the bug which was cauing the same thing to happen what version of uml are you running ? James -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/