lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 1 Dec 2008 13:17:04 -0700
From:	dann frazier <dannf@...com>
To:	David Miller <davem@...emloft.net>
Cc:	netdev@...r.kernel.org, eteo@...hat.com
Subject: Re: [PATCH] Fix soft lockups/OOM issues w/ unix garbage collector

On Wed, Nov 26, 2008 at 03:32:43PM -0800, David Miller wrote:
> From: dann frazier <dannf@...nf.org>
> Date: Wed, 26 Nov 2008 10:04:02 -0700
> 
> > This is an implementation of David Miller's suggested fix in:
> >   https://bugzilla.redhat.com/show_bug.cgi?id=470201
> > 
> > It has been updated to use wait_event() instead of
> > wait_event_interruptible().
> > 
> > Paraphrasing the description from the above report, it makes sendmsg()
> > block while UNIX garbage collection is in progress. This avoids a
> > situation where child processes continue to queue new FDs over a
> > AF_UNIX socket to a parent which is in the exit path and running
> > garbage collection on these FDs. This contention can result in soft
> > lockups and oom-killing of unrelated processes.
> > 
> > Signed-off-by: dann frazier <dannf@...com>
> 
> Applied, thanks a lot Dann.

I was asked if this patch may introduce blocking during operations on
non-blocking sockets. Should we update wait_for_unix_gc (and its
callers) to something like this?

int wait_for_unix_gc(bool can_block)
{
    if (!can_block)
        return gc_in_progress ? -EWOULDBLOCK : 0;

    wait_event(unix_gc_wait, gc_in_progress == false);
    return 0;
}

-- 
dann frazier

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists