我在驾驶员中可能存在竞争条件。我期望最终由munmap系统调用的一些清理代码在exit_mmap中调用(在linux / mm / mmap.c中实现)。在munmap调用之后,立即进行ioctl调用。如果尚未生成exit_mmap,则ioctl调用将返回错误。
那么......在什么条件下调用exit_mmap?
答案 0 :(得分:2)
exit_mmap()
的最后一次引用与mm
一起放置时,会调用 mmput()
。在通常情况下,当进程中的最后一个线程退出或进程成功调用execve()
时会发生这种情况。