Date: Tue, 22 May 2007 11:28:46 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: Alfred Perlstein <alfred@freebsd.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Andre Oppermann <andre@FreeBSD.org>, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern uipc_syscalls.c Message-ID: <20070522112825.U50138@fledge.watson.org> In-Reply-To: <20070522003856.GX21795@elvis.mu.org> References: <200705192051.l4JKp0rF074703@repoman.freebsd.org> <20070522003856.GX21795@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 21 May 2007, Alfred Perlstein wrote: > Is this the same bug that used to be in sendfile but got corrected some > years back? Dunno, but it sounds like we really need a comprehensive set of edge-case tests for sendfile. Robert N M Watson Computer Laboratory University of Cambridge > > * Andre Oppermann <andre@FreeBSD.org> [070519 13:52] wrote: >> andre 2007-05-19 20:50:59 UTC >> >> FreeBSD src repository >> >> Modified files: >> sys/kern uipc_syscalls.c >> Log: >> In kern_sendfile() adjust byte accounting of the file sending loop to >> ignore the size of any headers that were passed with the sendfile(2) >> system call. Otherwise the file sent will be truncated by the header >> size if the nbytes parameter was provided. The bug doesn't show up >> when either nbytes is zero, meaning send the whole file, or no header >> iovec is provided. >> >> Resolve a potential error aliasing of errors from the VM and sf_buf >> parts and the protocol send parts where an error of the latter over- >> writes one of the former. >> >> Update comments. >> >> The byte accounting bug wasn't seen in earlier because none of the popular >> sendfile(2) consumers, Apache, lighttpd and our ftpd(8) use it in modes >> that trigger it. The varnish HTTP proxy makes full use of it and exposed >> the problem. >> >> Bug found by: phk >> Tested by: phk >> >> Revision Changes Path >> 1.256 +37 -13 src/sys/kern/uipc_syscalls.c > > -- > - Alfred Perlstein >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070522112825.U50138>