freebsd-dev/sys
John Baldwin 052a5418e8 Don't reuse the source mbuf in tcp_respond() if it is not writable.
Not all mbufs passed up from device drivers are M_WRITABLE().  In
particular, the Chelsio T4/T5 driver uses a feature called "buffer packing"
to receive multiple frames in a single receive buffer.  The mbufs for
these frames all share the same external storage so are treated as
read-only by the rest of the stack when multiple frames are in flight.
Previously tcp_respond() would blindly overwrite read-only mbufs when
INVARIANTS was disabled or panic with an assertion failure if INVARIANTS
was enabled.  Note that the new case is a bit of a mix of the two other
cases in tcp_respond().  The TCP and IP headers must be copied explicitly
into the new mbuf instead of being inherited (similar to the m == NULL
case), but the addresses and ports must be swapped in the reply (similar
to the m != NULL case).

Reviewed by:	glebius
2016-05-26 18:35:37 +00:00
..
amd64 Both Clang and GCC cannot generate efficient reserve_pv_entries(). 2016-05-25 23:06:52 +00:00
arm Enable USB PHY regulators when requested by the host controller driver. 2016-05-26 10:50:39 +00:00
arm64 Extract the correct bits from the GICD_TYPER register. The interrupt count 2016-05-20 15:43:51 +00:00
boot efi loader: Match format string to EFI_ERROR_CODE() 2016-05-25 00:13:01 +00:00
bsm
cam Fix a few ada(4) driver issues: 2016-05-25 01:37:39 +00:00
cddl Try to unbreak the build after r300611 by including the header 2016-05-24 17:38:27 +00:00
compat Define ATOMIC_LONG_INIT() in the LinuxKPI. 2016-05-26 10:03:22 +00:00
conf [gpiospi] add initial gpio SPI bit bang driver. 2016-05-26 07:20:33 +00:00
contrib Remove extraneous blank line. 2016-05-20 03:22:41 +00:00
crypto aesni(4): Initialize error before use 2016-04-20 03:05:32 +00:00
ddb Add a small set of logical operators to DDB command language. 2016-05-16 19:42:38 +00:00
dev [siba] use the generic bus methods where appropriate. 2016-05-26 18:01:03 +00:00
fs Remove drop/reacquire of Giant around geom calls for cd9660 and udf. 2016-05-22 18:16:25 +00:00
gdb
geom Remove unneeded Giant locking around kthreads creation. 2016-05-20 08:28:11 +00:00
gnu Bring ralink/mediatek DTS files in sync with LEDE 2016-05-25 06:39:48 +00:00
i386 Add macro to convert errno and use it when appropriate. 2016-05-22 12:46:34 +00:00
isa sys/isa: minor spelling fixes. 2016-05-03 21:51:52 +00:00
kern Add support for boolean sysctl's. 2016-05-26 08:41:55 +00:00
kgssapi kgssapi: insignificant spelling fix. 2016-05-03 22:05:03 +00:00
libkern sys: Make use of our rounddown() macro when sys/param.h is available. 2016-04-30 14:41:18 +00:00
mips Build etherswitch support for appropriate Ralink/Mediatek SoCs 2016-05-25 06:47:28 +00:00
modules Bring in the Mellanox implementation of iSER (iSCSI over RDMA) initiator, 2016-05-26 09:49:29 +00:00
net Change net.link.log_promisc_mode_change to a read-only tunable 2016-05-25 09:00:05 +00:00
net80211 ifconfig: set by default FCC regulatory domain for wireless interfaces. 2016-05-26 13:14:08 +00:00
netgraph sys/netgraph: spelling fixes in comments. 2016-04-29 21:25:05 +00:00
netinet Don't reuse the source mbuf in tcp_respond() if it is not writable. 2016-05-26 18:35:37 +00:00
netinet6 Mark the prefix and default router list sysctl handlers MPSAFE. 2016-05-23 20:18:11 +00:00
netipsec netipsec: Fix minor style nit 2016-05-10 20:14:11 +00:00
netnatm kernel: use our nitems() macro when it is available through param.h. 2016-04-19 23:48:27 +00:00
netpfil pf: Fix more ICMP mistranslation 2016-05-23 13:59:48 +00:00
netsmb sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
nfs NFS: spelling fixes on comments. 2016-04-29 16:07:25 +00:00
nfsclient
nfsserver
nlm Remove slightly used const values that can be replaced with nitems(). 2016-04-21 15:38:28 +00:00
ofed Prepare for activation of LinuxKPI module parameters as read-only 2016-05-25 12:03:21 +00:00
opencrypto sys/opencrypto: minor spelling fixes. 2016-05-06 23:37:19 +00:00
pc98 Move 'device pci' for the PCI bus driver to the MI NOTES file. 2016-04-29 23:53:55 +00:00
powerpc Fix the deciKelvin to Celsius conversion in kernel. 2016-05-22 13:58:32 +00:00
riscv Increase the size and alignment of the setjmp buffer. 2016-05-26 10:03:30 +00:00
rpc Remove unnecessary memset(.., 0, ..)'s 2016-05-24 20:06:41 +00:00
security sys/security: minor spelling fixes. 2016-05-06 16:59:04 +00:00
sparc64 Add macro to convert errno and use it when appropriate. 2016-05-22 12:46:34 +00:00
sys Add support for boolean sysctl's. 2016-05-26 08:41:55 +00:00
teken
tests
tools
ufs arc4random() returns 0 to (2**32)−1, use an alternative to initialize 2016-05-22 14:31:20 +00:00
vm Prevent parallel object collapses. Both vm_object_collapse_scan() and 2016-05-26 16:59:29 +00:00
x86 Only calibrate ICR read loop when not in x2APIC mode. Run-time 2016-05-26 09:09:11 +00:00
xdr RPC: for pointers replace 0 with NULL. 2016-04-14 17:06:37 +00:00
xen Don't repeat the the word 'the' 2016-05-17 12:52:31 +00:00
Makefile