opnsense-src/sys
Alexander Motin c738bfc506 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.

Sponsored by:	iXsystems, Inc.

(cherry picked from commit 9dc7c250b8)
2021-02-02 23:08:43 -05:00
..
amd64 amd64: retire sse2_pagezero 2021-02-01 12:39:18 +00:00
arm marvell: ap806_clock: add missing frequency modes 2021-02-02 13:28:35 +01:00
arm64 Create the stable/13 branch 2021-01-21 19:08:57 -05:00
bsm Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
cam cam: Remove Giant handling from cam_sim_alloc() 2021-01-03 11:50:31 -05:00
cddl riscv: fix kernel build 2021-01-15 11:57:04 -04:00
compat LinuxKPI: implement devres() framework parts and two examples 2021-02-02 11:51:26 +00:00
conf LinuxKPI: implement devres() framework parts and two examples 2021-02-02 11:51:26 +00:00
contrib zfs: use atomic_load_consume_ptr for z_cached_symlink 2021-02-01 12:39:16 +00:00
crypto armv8crypto: add AES-GCM support 2021-01-22 22:34:37 -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-02-02 23:08:43 -05:00
dts Switch to the new device-tree vendor tree 2021-01-15 20:08:39 +01:00
fs tmpfs: drop acq fence now that vn_load_v_data_smr has consume semantics 2021-02-01 12:39:16 +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 MFC 0e01ea872e: 2021-01-30 20:28:06 -08:00
isa
kern cache: fix trailing slash support in face of permission problems 2021-02-02 18:15:48 +00:00
kgssapi State kgssapi dependency on xdr. 2020-09-17 22:29:38 +00:00
libkern Reimplement strlen 2021-02-01 12:39:18 +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-02-02 11:51:26 +00:00
net iflib: netmap: move per-packet operation out of fragments loop 2021-01-31 08:52:57 +00:00
net80211 net80211: fix a typo 2020-11-04 12:07:33 +00:00
netgraph netgraph/ng_one2main: Clarification in comments about copy mode 2021-01-18 14:10:34 +01:00
netinet TCP PRR: Patch div/0 in tcp_prr_partialack 2021-01-29 11:57:21 +01:00
netinet6 Create new in6_purgeifaddr() which purges bound ifa prefix if 2021-01-17 20:32:25 +00:00
netipsec Convert unmapped mbufs before computing checksums in IPsec. 2021-01-19 11:52:00 -08:00
netpfil pf: Don't hold PF_RULES_WLOCK during copyin() on DIOCRCLRTSTATS 2021-01-13 19:49:42 +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-25 10:13:50 -04:00
riscv Create the stable/13 branch 2021-01-21 19:08:57 -05: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 __FreeBSD_version: update the references to the doc tree 2021-02-02 11:54:30 +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 Switch to the new device-tree vendor tree 2021-01-15 20:08:39 +01:00
ufs ufs: denote lack of support for lockless symlink lookup 2021-02-01 12:38:23 +00:00
vm vm_map_protect(): remove not needed recalculations of new_prot, new_maxprot 2021-01-14 10:02:43 +02:00
x86 x86: switch kernel TSC timecounter to RDTSCP on AMD Zen CPUs 2021-01-21 14:55:31 +02: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