Re: [PATCH -mm] swsusp: freeze user space processes first

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

 



* Rafael J. Wysocki <[email protected]> wrote:

> > The logic in that loop makes my brain burst.
> > 
> > What happens if a process does vfork();sleep(100000000)?
> 
> The freezing of processes will fail due to the timeout.
> 
> Without the if (!p->vfork_done) it would fail too, because the child 
> would be frozen and the parent would wait for the vfork completion in 
> the TASK_UNINTERRUPTIBLE state (ie. unfreezeable).  But in that case 
> we have a race between the "freezer" and the child process (ie. if the 
> child gets frozen before it completes the vfork completion, the paret 
> will be unfreezeable) which sometimes leads to a failure when it 
> should not.  [We have a test case showing this.]

then i'd suggest to change the vfork implementation to make this code 
freezable. Nothing that userspace does should cause freezing to fail.  
If it does, we've designed things incorrectly on the kernel side.

	Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux