Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 May 2007 20:51:00 +0000 (UTC)
From:      Andre Oppermann <andre@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern uipc_syscalls.c
Message-ID:  <200705192051.l4JKp0rF074703@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705192051.l4JKp0rF074703>