Re: local users can panic linux kernel (was: SuSE syslogd

From: Savochkin Andrey Vladimirovich (sawat_private)
Date: Tue Nov 23 1999 - 01:58:06 PST

  • Next message: Jefferson Ogata: "Re: local users can panic linux kernel (was: SuSE syslogdadvisory)"

    Alan,
    
    On Mon, Nov 22, 1999 at 09:32:38PM +0000, Alan Cox wrote:
    > > It isn't clear for me what can be done to protect the whole system inside
    > > syslogd.  Does anybody knows what SuSE really changed?
    > > Their source package isn't very helpful.
    >
    > There were two notable problems
    >
    > 1.	Syslogd defaulted to stream sockets which means you have resource
    > 	control problems - in fact Dan Bernstein posted some very good stuff
    > 	about that issue about a year ago
    >
    > 2.	The client code decided it would be a good idea to wait - ie do a
    > 	blocking connect. Unfortunate it someone ate all the syslog handles
    >
    > With a datagram system it comes down to losing messages under load. I think that
    > is about as good as you can get.
    
    Thank you for your points.
    
    I think that replacing stream sockets by datagram is a step in a wrong
    direction.  Datagram sockets are not only unreliable by definition.
    Their use makes completely impossible for applications to check if their
    message has been properly logged or no.  Stream sockets allows at least catch
    some cases when the message is lost.
    
    The fact that libc provides syslog functions that return only void makes
    result checking not so easy.  But people may have their own libraries for
    system logging which don't suffer from the problem.
    
    It's clear that there are some resource control problems with connection
    oriented sockets.  These resource control problems may block logging under
    certain conditions.  But I don't think that these problems are unsolvable.
    As a first step we may consider creating several unix sockets for different
    facilities and some access control.
    
    So it looks wrong for me to refuse attempts to solve the problems, drop some
    existing code, and finally stop at intrinsicly unreliable solution.
    
    Best regards
    					Andrey V.
    					Savochkin
    



    This archive was generated by hypermail 2b30 : Fri Apr 13 2001 - 15:13:56 PDT