git: kernel - Document bugs in sendfile that we currently punt on

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jun 13 18:34:52 PDT 2013


commit 77bf246999b6cb9b4e6a8962a1283d17b2430e54
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Thu Jun 13 18:32:19 2013 -0700

    kernel - Document bugs in sendfile that we currently punt on
    
    * sendfile tries to soft-busy the VM pages it backs the mbuf with.  This
      is meant to prevent the VM page's data from being modified while TCP
      is playing with it.  However, it doesn't work.  There are two issues.
    
    * (1) The page still may be mmap()'d writable.  A simple vm_page_protect()
          would fix this.
    
    * (2) The page may be associated with a buffer cache buffer and can be
          modified via a VOP_WRITE through that buffer regardless of whether
          soft-busy or busy is set.  This is a real problem.
    
          Even if we find and discard the buffer it can just be reinstantiated
          and wind up with the same problem.
    
    From-discussion-with: jeffr, rookie on IRC

Summary of changes:
 sys/kern/uipc_syscalls.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/77bf246999b6cb9b4e6a8962a1283d17b2430e54


-- 
DragonFly BSD source repository


More information about the Commits mailing list