freebsd-skq/sys
Andriy Gapon 620b779158 fix zfs_getpages crash when called from sendfile, followup to r329363
It turns out that sendfile_swapin() has an optimization where it may
insert pointers to bogus_page into the page array that it passes to
VOP_GETPAGES.  That happens to work with buffer cache, because it
extensively uses bogus_page internally, so it has the necessary checks.
However, ZFS did not expect bogus_page as VOP_GETPAGES(9) does not
document such a (ab)use of bogus_page.

So, this commit adds checks and handling of bogus_page.

I expect that use of bogus_page with VOP_GETPAGES will get documented
sooner rather than later.

Reported by:	Andrew Reilly <areilly@bigpond.net.au>, delphij
Tested by:	Andrew Reilly <areilly@bigpond.net.au>
Requested by:	many
MFC after:	1 week
2018-05-25 07:29:52 +00:00
..
amd64 Avoid two suword() calls per auxarg entry. 2018-05-24 16:25:18 +00:00
arm Yank crufty INTR_FILTER option 2018-05-24 17:06:00 +00:00
arm64 Remove physmap from the arm64 machdep.h. This was missed in r334162. 2018-05-24 16:07:47 +00:00
bsm
cam Refactor NVMe CAM integration. 2018-05-25 03:34:33 +00:00
cddl fix zfs_getpages crash when called from sendfile, followup to r329363 2018-05-25 07:29:52 +00:00
compat UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
conf Make memmove and bcopy share code 2018-05-24 21:11:33 +00:00
contrib [ath_hal] migrate the shared HAL_RESET_* pieces out into ath_hal. 2018-05-25 01:27:39 +00:00
crypto disable printing value of SKEIN_LOOP during standard out, 2018-05-19 18:27:14 +00:00
ddb Fix PPC symbol resolution 2018-05-10 03:59:48 +00:00
dev Refactor NVMe CAM integration. 2018-05-25 03:34:33 +00:00
dts arm: overlays: Update to new path-based sugar format 2018-05-04 14:38:48 +00:00
fs nfsclient: warnings cleanups 2018-05-20 06:14:12 +00:00
gdb amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
geom Introduce the 'n' flag for the geli attach command. 2018-05-09 20:53:38 +00:00
gnu gnu/dts: Update our copy of arm dts from Linux 4.16 2018-04-20 19:37:08 +00:00
i386 Make memmove and bcopy share code 2018-05-24 21:11:33 +00:00
isa Revert r330780, it was improperly tested and results in taking a spin 2018-03-11 20:13:15 +00:00
kern AF_UNIX: It is possible for UNIX datagram sockets to be connected 2018-05-24 21:13:46 +00:00
kgssapi kgssapi: Remove trivial deadcode 2018-02-14 00:12:03 +00:00
libkern Protect bzero call against macro expansion 2018-05-24 23:20:10 +00:00
mips MALTA64EL: disable modules until objcopy is fixed 2018-05-24 23:58:57 +00:00
modules Yank crufty INTR_FILTER option 2018-05-24 17:06:00 +00:00
net CK: update consumers to use CK macros across the board 2018-05-24 23:21:23 +00:00
net80211 Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
netgraph Catch up two more places to the V_ifnet change to a CK_STAILQ. 2018-05-24 00:06:55 +00:00
netinet CK: update consumers to use CK macros across the board 2018-05-24 23:21:23 +00:00
netinet6 CK: update consumers to use CK macros across the board 2018-05-24 23:21:23 +00:00
netipsec netipsec/!VIMAGE: don't declare/define spdcache_destroy on non-VIMAGE builds 2018-05-24 23:47:27 +00:00
netpfil UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
netsmb Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
nfs UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
nfsclient
nfsserver
nlm
ofed UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
opencrypto cryptosoft: Do not exceed crd_len around *crypt_multi 2018-04-19 15:24:21 +00:00
powerpc Add an IPMI attachment for PowerNV systems 2018-05-22 03:57:32 +00:00
riscv Export a breakpoint() function to userland for riscv. 2018-05-16 16:56:35 +00:00
rpc
security Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
sparc64 Define memmove and make bcopy alt entry point 2018-05-24 21:11:28 +00:00
sys Avoid two suword() calls per auxarg entry. 2018-05-24 16:25:18 +00:00
teken teken: Rename the "Set Cursor Style" sequence to match vt100.net docs 2018-05-21 20:35:16 +00:00
tests epoch(9): Make epochs non-preemptible by default 2018-05-18 17:29:43 +00:00
tools Add dtb overlays support 2018-03-24 21:30:24 +00:00
ufs ufs: remove cgbno variable where unused 2018-05-19 19:30:42 +00:00
vm Eliminate an unused parameter from vm_fault_populate(). 2018-05-24 20:43:41 +00:00
x86 xen/pvh: allocate dbg_stack 2018-05-24 10:22:57 +00:00
xdr
xen xen: fix gntdev 2018-05-02 10:19:17 +00:00
Makefile