DragonFly BSD
DragonFly commits List (threaded) for 2013-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 13 Jun 2013 18:34:52 -0700 (PDT)

commit 77bf246999b6cb9b4e6a8962a1283d17b2430e54
Author: Matthew Dillon <dillon@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]