MFH: sync netmap with the version in HEAD
MFC r243758 (marcel):

In globextend() when the pathv vector cannot be (re-)allocated, don't
free and clear the gl_pathv pointer in the glob_t structure. Such
breaks the invariant of the glob_t structure, as stated in the comment
right in front of the globextend() function. If gl_pathv was non-NULL,
then gl_pathc was > 0. Making gl_pathv a NULL pointer without also
setting gl_pathc to 0 is wrong.

Since we otherwise don't free the memory associated with a glob_t in
error cases, it's unlikely that this change will cause a memory leak
that wasn't already there to begin with. Callers of glob(3) must
call globfree(3) irrespective of whether glob(3) returned an error
or not.

MFC r243759 (marcel):

In globextend(), take advantage of the fact that realloc(NULL, size) is
equivalent to malloc(size). This eliminates the conditional expression
used for calling either realloc() or malloc() when realloc() will do
all the time.
MFC r243779 (marcel):

Protect against DoS attacks, such as being described in CVE-2010-2632.
The changes were derived from what has been committed to NetBSD, with
modifications. These are:

1.  Preserve the existsing GLOB_LIMIT behaviour by including the number
    of matches to the set of parameters to limit.
2.  Change some of the limits to avoid impacting normal use cases:
    GLOB_LIMIT_STRING - change from 65536 to ARG_MAX so that glob(3)
        can still provide a full command line of expanded names.
    GLOB_LIMIT_STAT - change from 128 to 1024 for no other reason than
        that 128 feels too low (it's not a limit that impacts the
        behaviour of the test program listed in CVE-2010-2632).
    GLOB_LIMIT_PATH - change from 1024 to 65536 so that glob(3) can
        still provide a fill command line of expanded names.
3.  Protect against buffer overruns when we hit the GLOB_LIMIT_STAT or
    GLOB_LIMIT_READDIR limits. We append SEP and EOS to pathend in
    those cases. Return GLOB_ABORTED instead of GLOB_NOSPACE when we
    would otherwise overrun the buffer.

This change also modifies the existing behaviour of glob(3) in case
GLOB_LIMIT is specifies by limiting the *new* matches and not all
matches. This is an important distinction when GLOB_APPEND is set or
when the caller uses a non-zero gl_offs. Previously pre-existing
matches or the value of gl_offs would be counted in the number of
matches even though the man page states that glob(3) would return
GLOB_NOSPACE when gl_matchc or more matches were found.

The limits that cannot be circumvented are GLOB_LIMIT_STRING and
GLOB_LIMIT_PATH all others can be crossed by simply calling glob(3)
again and with GLOB_APPEND set.

The entire description above applies only when GLOB_LIMIT has been
specified of course. No limits apply when this flag isn't set!

Obtained from: Juniper Networks, Inc
MFH r246362: remove political propaganda
MFC r246028 (by theraven):

  Fix some symbol version mismatches between libstdc++ and libsupc++/libcxxrt
  that were causing the runtime and STL libraries to see different versions of
  various classes and functions when libstdc++ is used as a filter.

  Note: This changes the ABI for libcxxrt, but libcxxrt is currently only in
  -STABLE for testing and is not used by anything unless explicitly enabled by
  the end user.  No default compiler configurations use it.

  libc++ will need to be recompiled after this change.  make buildworld will do
  this automatically, but make in lib/libc++ will not necessarily work unless the
  new libcxxrt is installed first.

  PR:		kern/171610, stand/175453
  Reviewed by:	kib

MFC r246297:

  Add several missing symbols to libcxxrt's symbol version map, and remove
  a few duplicates.  This should fix building world with -stdlib=libc++
  after r246028.

  Submitted by:	Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>
MFC:

one-true-awk 20121220.
MFC	r246299;

UFS: Remove dead assignment.

PR:		kern/175794
Submitted by:	Christoph Mallon
MFC: Remove firewire devices missed in r244992.
MFC r246113 and r246126:
Add missing NULL pointer check.

Reported by:  Lars Engels
MFC r245457:
- Detect when we are in KVM.
MFC r245696:
- Force inetd to have listen queue size to be set to the value of
  kern.ipc.somaxconn instead of hardcoded value 64.
MFC r246118:
The case of pid == WAIT_MYPGRP for the kern_wait() is already handled
in kern_wait6(), which is called by kern_wait().  Remove the redundand
check, introduced in r243136, and add a comment noting this, to make
the code less confusing.
MFC r246119:
Rework the handling of the children for the pthread_vfork_test.  The
trivial handler for SIGCHLD is installed, and SIGCHLD is blocked, to
not abandon our zombies to init(8). This way, the zombies are around
slightly longer, allowing to actually exercise the logic for p_pwait
use by the test.
MFi386: Remove firewire devices.
MFC r238595, r238596:
Add bunch of new ASC/ASCQ values from T10 site.
MFC r240948 (by trasz):
Fix panic in CTL caused by trying to free invalid pointers passed
by the userland process via the IOCTL interface.
MFC r240993 (by trasz):
Remove useless NULL checks after M_WAITOK allocations.
MFC r242174:
Remove several uses of numeric priorities from immediate CCB setups.
MFC r242175:
Remove priority enforcement from xpt_ation().  It is not good and even not
safe in some cases to reduce CCB priority after it was scheduled with high
priority.  This fixes reproducible deadlock when command sent through the
pass interface while ATA XPT recovers from command timeout.

Instead of that enforce priority at passioctl().  libcam provides no obvious
interface to specify CCB priority and so much (all?) code specifies zero
(highest) priority.  This change limits pass CCBs priority to NORMAL run
level, allowing XPT to complete bus and device recovery after reset before
running any payload.
MFC r235911, r235980, r238739, r238740, r238894, r239213, r241488, r241952,
r242173, r242621, r242634, r242638, r242647, r242720, r244418, r244508,
r245891:
Revamp the CAM enclosure services driver.
This updated driver uses an in-kernel daemon to track state changes and
publishes physical path location information for disk elements into the
CAM device database.

Sponsored by:   Spectra Logic Corporation
Sponsored by:   iXsystems, Inc.