opnsense-src/sys
Alexander Motin 9dc7c250b8 cxgb(4): Remove assumption of physically contiguous mbufs.
Investigation of iSCSI target data corruption reports brought me to
discovery that cxgb(4) expects mbufs to be physically contiguous, that
is not true after I've started using m_extaddref() in software iSCSI
for large zero-copy transmissions.  In case of fragmented memory the
driver transmitted garbage from pages following the first one due to
simple use of pmap_kextract() for the first pointer instead of proper
bus_dmamap_load_mbuf_sg().  Seems like it was done as some optimization
many years ago, and at very least it is wrong in a world of IOMMUs.

This patch just removes that optimization, plus limits packet coalescing
for mbufs crossing page boundary, also depending on assumption of one
segment per packet.

MFC after:	3 days
Sponsored by:	iXsystems, Inc.
Reviewed by:	mmacy, np
Differential revision:	https://reviews.freebsd.org/D28428
2021-01-31 12:55:06 -05:00
..
amd64 amd64: move memcmp checks upfront 2021-01-31 16:07:20 +00:00
arm Remove obsolete code gated on _ARM_ARCH_* 2021-01-28 10:41:45 +00:00
arm64 Enable KERN_TLS by default in ARM64 GENERIC 2021-01-28 20:48:37 +00:00
bsm Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
cam Exclude reserved iSCSI Target Transfer Tag. 2021-01-24 13:58:29 -05:00
cddl riscv: fix kernel build 2021-01-15 11:57:04 -04:00
compat LinuxKPI: add module dependency on firmware(9) 2021-01-30 17:50:26 +00:00
conf newvers: tweak uname to be more useful 2021-01-28 17:44:56 -07:00
contrib acpica: Import ACPICA 20210105. 2021-01-29 20:53:07 -05:00
crypto armv8crypto: add AES-GCM support 2021-01-21 21:41:27 -08:00
ddb ddb: add ability to print user registers 2021-01-08 14:53:06 -04:00
dev cxgb(4): Remove assumption of physically contiguous mbufs. 2021-01-31 12:55:06 -05:00
dts Remove DTS files for arm boards we don't support 2021-01-27 10:02:01 +00:00
fs tmpfs: implement pathconf(_PC_SYMLINK_MAX) 2021-01-29 09:30:25 +00:00
gdb gdb(4): allow bulk write of registers 2020-12-23 14:37:05 -04:00
geom geom(4): make g_newprovider_event() return if G_P_WITHER is set 2020-12-29 14:29:59 +00:00
gnu Remove the old dts imported tree. 2021-01-15 20:09:55 +01:00
i386 Fix a typo. 2021-01-27 21:52:41 -08:00
isa
kern cache: add trailing slash support 2021-01-31 12:02:46 +00:00
kgssapi State kgssapi dependency on xdr. 2020-09-17 22:29:38 +00:00
libkern Reimplement strlen 2021-01-29 23:48:26 +00:00
mips make maximum interrupt number tunable on ARM, ARM64, MIPS, and RISC-V 2021-01-18 16:36:39 -08:00
modules LinuxKPI: implement devres() framework parts and two examples 2021-01-28 16:32:43 +00:00
net Use process fib for inet/inet6 fib_algo sysctls. 2021-01-31 10:50:08 +00:00
net80211 net80211: fix a typo 2020-11-04 12:07:33 +00:00
netgraph netgraph/ng_source: Switch queuing framework 2021-01-29 12:34:53 +01:00
netinet sctp: fix a locking issue for old unordered data 2021-01-31 10:46:23 +01:00
netinet6 Fix unused-function waring when compiling with FIB_ALGO. 2021-01-30 23:25:56 +00:00
netipsec Convert unmapped mbufs before computing checksums in IPsec. 2021-01-19 11:52:00 -08:00
netpfil pf: duplicate frames only once when using dup-to pf rule 2021-01-28 16:46:44 +01: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: Mark unused statistics variable as reserved 2020-11-18 04:35:49 +00:00
nlm nlm: clean up empty lines in .c and .h files 2020-09-01 22:14:52 +00:00
ofed Update user access region, UAR, APIs in the core in mlx5core. 2021-01-08 13:33:46 +01:00
opencrypto opencrypto: Add comments describing the new crypto_session layout 2021-01-19 21:32:33 -05:00
powerpc gdb: only return signal values for powerpc's gdb_cpu_signal() 2021-01-22 15:01:49 -04:00
riscv riscv: add SBI system reset extension 2021-01-27 19:19:54 -04:00
rpc nfs-over-tls: handle res.gid.gid_val correctly for memory allocation 2021-01-12 13:59:52 -08:00
security Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
sys fd: add fget_only_user 2021-01-29 11:23:43 +00:00
teken loader: implement framebuffer console 2021-01-02 21:41:36 +02:00
tests Enable running fib tests inside vnet jail. 2021-01-17 20:32:26 +00:00
tools syscalls.master: Add a new syscall type: RESERVED 2021-01-26 18:27:44 +00:00
ufs Revert 2d4422e799, Eliminate lock order reversal in UFS ffs_unmount(). 2021-01-30 00:03:37 -08:00
vm Rename kern_mmap_req to kern_mmap 2021-01-25 21:50:37 +00:00
x86 stand/multiboot: adjust the protocol between loader and kernel 2021-01-29 15:23:26 +01:00
xdr xdr: clean up empty lines in .c and .h files 2020-09-01 22:13:28 +00:00
xen xen: remove .swp file from public headers 2021-01-11 18:14:11 +01:00
Makefile