opnsense-src/sys
Rick Macklem 19fe23fa2b Make vn_generic_copy_file_range() interruptible via a signal.
Without this patch, when vn_generic_copy_file_range() is
doing a large copy, it will remain in the function for a
considerable amount of time, delaying handling of any
outstanding signals until the copy completes.

This patch adds checks for signals that need to be
processed after each successful data copy cycle.
When sig_intr() returns non-zero, vn_generic_copy_file_range()
will return.
The check "if (len < savlen)" ensures that some data
has been copied, so that progress will be made.

Note that, since copy_file_range(2) is allowed to
return fewer bytes copied than requested, it
will never return EINTR/ERESTART when sig_intr()
returns non-zero.

Reviewed by:	kib, asomers
Differential Revision:	https://reviews.freebsd.org/D26620
2020-10-09 01:04:28 +00:00
..
amd64 Add a routine to dump boot metadata 2020-10-08 18:02:05 +00:00
arm Add a routine to dump boot metadata 2020-10-08 18:02:05 +00:00
arm64 Add a routine to dump boot metadata 2020-10-08 18:02:05 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam cam: Add quirk for Samsung MZ7* behind a SATA-to-SAS interposer 2020-10-07 05:44:35 +00:00
cddl loader: zfs should support bootonce an nextboot 2020-09-21 09:01:10 +00:00
compat LinuxKPI: add a bitfield.h implementation. 2020-10-07 22:07:26 +00:00
conf Remove APM BIOS support 2020-10-08 20:56:06 +00:00
contrib Explicit CTLFLAG_DYN not needed 2020-10-04 19:37:15 +00:00
crypto libmd: fix assembly optimized skein implementation 2020-10-01 21:05:50 +00:00
ddb ddb: clean up empty lines in .c and .h files 2020-09-01 22:14:30 +00:00
dev Remove APM BIOS support 2020-10-08 20:56:06 +00:00
dts Remove licenses 2020-06-04 17:20:58 +00:00
fs ext2fs: minor typo. 2020-10-06 21:31:04 +00:00
gdb gdb(4): Don't escape GDB special characters at application layer 2020-09-30 14:55:54 +00:00
geom Move kernel env global variables, etc to sys/kenv.h 2020-10-07 06:16:37 +00:00
gnu Import DTS files for arm, arm64, riscv from Linux 5.8 2020-08-04 19:44:43 +00:00
i386 timer_restore is now unused, remove it 2020-10-08 20:56:11 +00:00
isa sc(4) md bits: stop setting sc->kbd entirely 2019-12-30 02:07:55 +00:00
kern Make vn_generic_copy_file_range() interruptible via a signal. 2020-10-09 01:04:28 +00:00
kgssapi State kgssapi dependency on xdr. 2020-09-17 22:29:38 +00:00
libkern arm64: check for CRC32 support via HWCAP 2020-09-08 15:39:19 +00:00
mips Print symbol index for unsupported relocation types 2020-10-07 18:48:10 +00:00
modules Remove apm screen saver. 2020-10-08 20:56:00 +00:00
net Fix typo. 2020-10-07 10:58:56 +00:00
net80211 net80211: whitespace 2020-10-07 22:52:24 +00:00
netgraph ng_l2tp: Fix callout synchronization in the rexmit timeout handler 2020-09-25 18:55:50 +00:00
netinet Minor cleanups. 2020-10-07 15:22:48 +00:00
netinet6 Introduce scalable route multipath. 2020-10-03 10:47:17 +00:00
netipsec net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
netpfil net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
netsmb net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
nfs nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsclient nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsserver nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nlm nlm: clean up empty lines in .c and .h files 2020-09-01 22:14:52 +00:00
ofed infiniband: Appease Coverty 2020-08-31 16:17:28 +00:00
opencrypto Simplify swcr_authcompute() after removal of deprecated algorithms. 2020-10-06 18:07:52 +00:00
powerpc [PowerPC] add machdep.uprintf_signal sysctl 2020-10-08 22:00:31 +00:00
riscv Add a routine to dump boot metadata 2020-10-08 18:02:05 +00:00
rpc Fix a potential memory leak in the NFS over TLS handling code. 2020-09-05 00:50:52 +00:00
security mac_framework.h: fix build with DEBUG_VFS_LOCKS and !MAC 2020-09-03 20:30:52 +00:00
sys Add a routine to dump boot metadata 2020-10-08 18:02:05 +00:00
teken Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
tests Add small tool to invoke kernel test framework tests. 2020-09-02 09:20:40 +00:00
tools Make makesyscalls.lua initialize 'struct sysent' entries using c99 2020-09-25 09:34:00 +00:00
ufs Do not leak B_BARRIER. 2020-10-08 22:41:02 +00:00
vm vm_page_dump_index_to_pa(): Add braces to the expression involving + and &. 2020-10-08 22:46:15 +00:00
x86 timer_restore is now unused, remove it 2020-10-08 20:56:11 +00:00
xdr xdr: clean up empty lines in .c and .h files 2020-09-01 22:13:28 +00:00
xen xen: clean up empty lines in .c and .h files 2020-09-01 21:21:55 +00:00
Makefile Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00