Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Feb 1999 16:20:23 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Julian Elischer <julian@whistle.com>
Cc:        hackers@FreeBSD.ORG, stable@FreeBSD.ORG
Subject:   Re: Again: sorflush() bug fix in uipc_usrreq.c -- need someone to review this
Message-ID:  <199902150020.QAA10642@apollo.backplane.com>
References:   <Pine.BSF.3.95.990214143100.11800B-100000@current1.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help

:I'm not convinced that it may not be impossible to get anything but
:socket fds in the 'hitlist' Since to get on it the fd must be involved in
:a cyclical reference (see the big comment in prior code).
:still the check can't hurt..
:
:julian

    good 'nuf for me.

    I traced through the code and I believe it can happen.  What has to happen
    is that you have to have two processes passing file descriptors to each
    other over a unix domain socket, and have both processes die while 
    descriptors are 'in transit'.  You get into trouble if you happen to be
    passing a non-socket descriptor over the socket when that condition occurs.

    The cyclical reference problem is a different problem - the hitlist is
    constructed whether there is cycle or not.  The problem with the cyclical
    bug was that the same descriptor would wind up being double-closed or
    double-flushed due to the recursion.  This particular bug was fixed a long
    time ago.

						-Matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902150020.QAA10642>