Reintegrate r250907 (previously reverted as r254754) plus MFS r254947,
r255443:
r250907 (scottl):
MFC r248830, r250027, r250409: Several fixes and improvements
to sendfile()
r254947 (kib):
NFS implementation of VOP_READ() sometimes upgrades the vnode lock,
which causes drop of the shared lock and sleep for exclusive. As
result, busying of the page before the call to vn_rdwr() makes NFS
code to wait for vnode lock while page is busy, which contradicts the
proper order of vnode lock -> busy.
r255443 (des):
Fix the length calculation for the final block of a sendfile(2)
transmission which could be tricked into rounding up to the nearest
page size, leaking up to a page of kernel memory. [13:11]
Approved by: re (delphij)
Sponsored by: The FreeBSD Foundation
git-svn-id: svn://svn.freebsd.org/base/releng/9.2@255456
ccf9f872-aa2e-dd11-9fc8-
001c23d0bc1f