cvs commit: src/sys/kern uipc_syscalls.c
Alfred Perlstein
alfred at freebsd.org
Tue May 22 00:37:58 UTC 2007
Is this the same bug that used to be in sendfile but got corrected
some years back?
* Andre Oppermann <andre at 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
More information about the cvs-src
mailing list