我有一个要求,我有一个“工作”内核线程想要处理另一个进程的“mm”对象。出于某种原因,我必须在内核线程中执行此操作。
这个“mm”对象受“mmu_lock”保护。处理“mm”的例程使用“current->mmu_lock”,(这显然意味着它不会在另一个上下文中完成)。
我了解内核线程没有当前指针;它只是使用为先前进程设置的“当前”指针。因此,直接从内核线程调用这些例程肯定是错误的。
鉴于此,是否有任何“hack”可以从内核线程调用这些例程?就像为所需进程保存当前指针并将其用作内核线程中的“当前”指针?在一个进程被调度出来之后(它可以被换出吗?),以这种方式使用它的当前指针是否安全,或者根本无法完成。