Please Help. BUG init_mm dropped.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

--------------------------------------------------------------------------------
                  				- Jan Hudec `Bulb' <bulb@ucw.cz>
--
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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux