Cyrill Gorcunov wrote: > On Mon, Apr 02, 2012 at 08:19:59PM +0400, Konstantin Khlebnikov wrote: >> Oleg Nesterov wrote: >>> On 04/02, Konstantin Khlebnikov wrote: >>>> >>>> In this patch I leave mm->exe_file lockless. >>>> After exec/fork we can change it only for current task and only if mm->mm_users == 1. >>>> >>>> something like this: >>>> >>>> task_lock(current); >>> >>> OK, this protects against the race with get_task_mm() >>> >>>> if (atomic_read(¤t->mm->mm_users) == 1) >>> >>> this means PR_SET_MM_EXE_FILE can fail simply because someone did >>> get_task_mm(). Or the caller is multithreaded. >> >> This is sad, seems like we should keep mm->exe_file protection by mm->mmap_sem. >> So, I'll rework this patch... > > Ah, it's about locking. I misundertand it at first. > Oleg, forget about my email then. Yes, it's about locking. Please review patch for your code from attachment.