Constrain the amount of data returned to what is actually available
not the size of the buffer.

Approved by:	grehan (co-mentor)
Really, really, really only allow this option for amd64/i386 builds.

Submitted by:	imp@ and tinderbox
Fix three refcounter leaks and lock recursion they covered.

MFC after:	1 week
Restore the pX part to the version number printed in debugging mode.
Add kqueue support for devctl.

Reviewed by:	kib,mjg
Fix build breakage caused by r264295

X-MFC-With: r264295
MFC after:	1 week
Do not increment bio_data in case of BIO_DELETE.

This fixes KASSERT() panic in g_io_request().
More mdoc/spelling/grammar cleanup.
Fix Xref order in SEE ALSO.

MFC after:	1 week
Fix stray "." left over from previous commit.

MFC after:	1 week
Add the Asus USB-N10 NANO.

Tested by:	Kuan-Chung Chiu <buganini@gmail.com>
Fix wrong sizes used to access PD_Type and PD_State DDF metadata fields.

This caused incorrect behavior of arrays with big-endian DDF metadata.
Little-endian (like used by Adaptec controllers) should not be harmed.
Add workaround should be enough to manage compatibility.

MFC after:	2 weeks
Fix EFI loader object tree creation on 9.x build hosts

Previously ${COMPILER_TYPE} was checked in sys/boot/amd64, and the efi
subdirectory was skipped altogether for gcc (since GCC does not support
a required attribute).  However, during the early buildworld stages
${COMPILER_TYPE} is the existing system compiler (i.e., gcc on 9.x build
hosts), not the compiler that will eventually be used.  This caused
"make obj" to skip the efi subdirectory.  In later build stages
${COMPILER_TYPE} is "clang", and then the efi loader would attempt to
build in the source directory.

Sponsored by:	The FreeBSD Foundation
Fix spelling error in g_trace() call.

Sponsored by:	EMC / Isilon Storage Division
MFC after:	1 week
Currently, the TCP slow timer can starve TCP input processing while it
walks the list of connections in TIME_WAIT closing expired connections
due to contention on the global TCP pcbinfo lock.

To remediate, introduce a new global lock to protect the list of
connections in TIME_WAIT.  Only acquire the TCP pcbinfo lock when
closing an expired connection.  This limits the window of time when
TCP input processing is stopped to the amount of time needed to close
a single connection.

Submitted by:	Julien Charbon <jcharbon@verisign.com>
Reviewed by:	rwatson, rrs, adrian
MFC after:	2 months
- Adding myself to the committers-ports.dot
- Adding myself to the freebsd calendar

Approved by: swills (mentor)
In if_freemulti(), relax the paranoid KASSERT() on ifma->ifma_protospec.

This KASSERT() existed as a sanity check that upper layers in the network
stack (e.g. inet, inet6) had released their reference to the underlying
driver's multicast memberships (ifmultiaddr{}). However it assumes the
lifecycle of the driver membership corresponds to the lifecycle of the
network layer membership.

In the submitter's case, ieee80211_ioctl_updatemulti() attempts to
reprogram the (parent, physical) ifnet{} memberships in response
to a change in membership on the (child, virtual) VAP ifnet, using
a batched update mechanism. These updates happen independently from
the network layer, causing a "false negative" assertion failure.

There are possibly other use cases where this KASSERT() may be triggered
by other networking stack activity (e.g. where a nesting relationship
exists between multiple ifnet{} instances). This suggests that further
review of FreeBSD's approach to nested ifnet relationships is needed.

MFC after:	6 weeks
Submitted by:	adrian@
Rework r264179.

- remove redundant code
- remove erroneous setting of the error return
  in vmmdev_ioctl()
- use style(9) initialization
- in vmx_inject_pir(), document the race condition
  that the final conditional statement was detecting,

Tested with both gcc and clang builds.

Reviewed by:	neel
Refine r264257; given that I later on decided to nuke the wildcard for
the Sunix 0x1999 line of chips there actually is no need to explicitly
keep puc(4) from attaching to the single port version anymore.
Small performance optimization.  Clobber only cr0, rather than the entire CR.

Discussed with:	rdivacky,nwhitehorn
MFC after:	3 weeks