freebsd kernel with SKQ
Go to file
bz c14bf147f4 Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros.
r354748-354750 replaced the KAME macros with m_pulldown() calls.
Contrary to the rest of the network stack m_len checks before m_pulldown()
were not put in placed (see r354748).
Put these m_len checks in place for now (to go along with the style of the
network stack since the initial commits).  These are not put in for
performance but to avoid an error scenario (even though it also will help
performance at the moment as it avoid allocating an extra mbuf; not because
of the unconditional function call).

The observed error case went like this:
(1) an mbuf with M_EXT arrives and we call m_pullup() unconditionally on it.
(2) m_pullup() will call m_get() unless the requested length is larger than
MHLEN (in which case it'll m_freem() the perfectly fine mbuf) and migrate the
requested length of data and pkthdr into the new mbuf.
(3) If m_get() succeeds, a further m_pullup() call going over MHLEN will fail.
This was observed with failing auto-configuration as an RA packet of
200 bytes exceeded MHLEN and the m_pullup() called from nd6_ra_input()
dropped the mbuf.
(Re-)adding the m_len checks before m_pullup() calls avoids this problems
with mbufs using external storage for now.

MFC after:	3 weeks
Sponsored by:	Netflix
2019-12-01 00:22:04 +00:00
bin Add iflag=fullblock to dd 2019-09-30 22:00:48 +00:00
cddl MFV r354383: 10592 misc. metaslab and vdev related ZoL bug fixes 2019-11-21 13:35:43 +00:00
contrib auditd(8): fix long-standing uninitialized memory use bug 2019-11-28 00:46:03 +00:00
crypto sshd: make getpwclass wrapper MON_ISAUTH not MON_AUTH 2019-11-20 16:30:37 +00:00
etc Create /etc/os-release file. 2019-11-20 23:45:31 +00:00
gnu Get the readline header from the installed header instead of the from the source 2019-09-12 15:50:14 +00:00
include Import devicetree files from Linux 5.4 2019-11-28 19:05:03 +00:00
kerberos5
lib The fdlibm hypot() implementations shouldn't potentially left-shift 2019-11-26 22:01:09 +00:00
libexec Reduce disk write load in /usr/libexec/save-entropy. 2019-11-30 20:06:53 +00:00
release Remove picobsd build scripts and the remaining tinyware 2019-11-05 02:30:41 +00:00
rescue
riscv/sifive Import riscv DTS files 2019-11-28 19:38:57 +00:00
sbin Capitalize some user-visible output messages in 2019-11-30 14:17:45 +00:00
secure caroot: commit initial bundle 2019-10-04 02:34:20 +00:00
share tty: implement TIOCNOTTY 2019-11-30 20:10:50 +00:00
stand loader.efi: efipart needs better support detecting nested partitions 2019-11-30 09:11:28 +00:00
sys Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros. 2019-12-01 00:22:04 +00:00
targets - Retire pc-sysinstall(8) 2019-09-03 19:42:04 +00:00
tests procdesc: allow to collect status through wait(1) if process is traced 2019-11-25 18:33:21 +00:00
tools libclang_rt: enable on powerpc* 2019-11-23 19:35:09 +00:00
usr.bin Correct date and time of George Harrison's death. 2019-11-29 23:04:45 +00:00
usr.sbin Fix typos. 2019-11-27 10:26:37 +00:00
.arcconfig
.arclint
.cirrus.yml cirrus.yml: stop fetching OVMF.fd now that we're using the pkg 2019-07-30 16:40:33 +00:00
.clang-format
.gitattributes
.gitignore Import devicetree files from Linux 5.4 2019-11-28 19:05:03 +00:00
COPYRIGHT
LOCKS
MAINTAINERS [skip ci] Add me to MAINTAINERS for fusefs 2019-07-28 15:20:47 +00:00
Makefile Take arm.arm (armv5) out of universe 2019-11-03 19:36:34 +00:00
Makefile.inc1 Update Makefile.inc1 dtc comment 2019-11-26 14:25:50 +00:00
Makefile.libcompat libcompat: build 32-bit rtld and ldd as part of "everything" 2019-11-07 22:58:10 +00:00
Makefile.sys.inc
ObsoleteFiles.inc Remove the trm(4) driver 2019-11-28 02:32:17 +00:00
README
README.md
RELNOTES Document iwm(4) support for 9000-series devices. 2019-11-08 00:01:37 +00:00
UPDATING Revert r354909: Make the warning for deprecated NO_ variables an error. 2019-11-22 18:41:09 +00:00

FreeBSD Source:

This is the top level of the FreeBSD source directory. This file was last revised on: FreeBSD

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html, and https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html for more information, including setting make(1) variables.

Source Roadmap:

bin		System/user commands.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

stand		Boot loader sources.

sys		Kernel sources.

sys/<arch>/conf Kernel configuration files. GENERIC is the configuration
		used in release builds. NOTES contains documentation of
		all possible entries.

tests		Regression tests which can be run by Kyua.  See tests/README
		for additional information.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html