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