cvs commit: src/sys/kern uipc_syscalls.c

Robert Watson rwatson at FreeBSD.org
Sun Apr 27 18:40:18 UTC 2008


On Sun, 27 Apr 2008, John-Mark Gurney wrote:

> Robert Watson wrote this message on Sun, Apr 27, 2008 at 15:50 +0000:
>>   Note that the current fix isn't perfect, but better than
>>   panicking: normally we guarantee that simultaneous invocations
>>   of a system call to write on a stream socket won't be
>>   interlaced, which is ensured by use of the socket buffer sleep
>>   lock.  This is guaranteed for the sendfile headers, but not
>>   trailers.  In practice, this is likely not a problem, but
>>   should be fixed.
>
> Should this be mentioned in the BUGS section of the sendfile(2) man page? or 
> do you plan on fixing this in the near future?

This bug has been present pretty much since inception, and I'm not convinced 
other OS's provide as strong protections against interlacing as we do (and 
certainly, application writers shouldn't rely on that protection if they are 
portable).  I will likely look at fixing it at some point, but it will be in 
the queue behind quite a bit of other stuff.  This particular bug became 
pressing today when I upgraded my 7.x web server and it keeled over within 
five minutes of booting (I run with INVARIANTS on my box).

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the cvs-src mailing list