Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 May 2007 17:38:56 -0700
From:      Alfred Perlstein <alfred@freebsd.org>
To:        Andre Oppermann <andre@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern uipc_syscalls.c
Message-ID:  <20070522003856.GX21795@elvis.mu.org>
In-Reply-To: <200705192051.l4JKp0rF074703@repoman.freebsd.org>
References:  <200705192051.l4JKp0rF074703@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Is this the same bug that used to be in sendfile but got corrected
some years back?

* 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?20070522003856.GX21795>