remove comment about the bug... I don't remeber what it was...
It may be an issue w/ using awk which is in /usr (and isn't always
present), or another issue...

Suggestion by:	brooks
filedesc: just free old tables without altering the list which is freed anyway

No functional changes.
filedesc: avoid taking fdesc_mtx when not necessary in fddrop

No functional changes.
Add sysctl kern.proc.cwd

It returns only current working directory of given process which saves a lot of
overhead over kern.proc.filedesc if given proc has a lot of open fds.

Submitted by:	Tiwei Bie <btw mail.ustc.edu.cn> (slightly modified)
X-Additional:	JuniorJobs project
rpcbind does not need to be linked to libutil
sntp does not depend on libm
iscsid does not need to link to libssl
Merge remote-tracking branch 'freebsd/master' into hardened/current/master
fix l2arc compression buffers leak

We have observed that arc_release() can be called concurrently with a
l2arc in-flight write.
Also, we have observed that arc_hdr_destroy() can be called from
arc_write_done() for a zio with ZIO_FLAG_IO_REWRITE flag in similar
circumstances.

Previously the l2arc headers would be freed while leaking their
associated compression buffers.  Now the buffers are placed on
l2arc_free_on_write list for delayed freeing.  This is similar to what
was already done to arc buffers that were supposed to be freed
concurrently with in-flight writes of those buffers.

In addition to fixing the discovered leaks this change also adds some
protective code to assert that a compression buffer associated with a
l2arc header is never leaked.

A new kstat l2_cdata_free_on_write is added.  It keeps a count of
delayed compression buffer frees which previously would have been leaks.

Tested by:	Vitalij Satanivskij <satan@ukr.net> et al
Requested by:	many
MFC after:	2 weeks
Sponsored by:	HybridCluster / ClusterHQ
After the changes in r274118 make NOIP kernels compile by hiding an
otherwise unused variable declaration behind INET6 || INET.

MFC after:	27 days
X-MFS with:	r274118
fifolog_reader does not depend on libutil
Make checks for rt_mtu generic:

Some virtual if drivers has (ab)used ifa ifa_rtrequest hook to enforce
route MTU to be not bigger that interface MTU. While ifa_rtrequest hooking
might be an option in some situation, it is not feasible to do MTU checks
there: generic (or per-domain) routing code is perfectly capable of doing
this.

We currrently have 3 places where MTU is altered:

1) route addition.
 In this case domain overrides radix _addroute callback (in[6]_addroute)
 and all necessary checks/fixes are/can be done there.

2) route change (especially, GW change).
 In this case, there are no explicit per-domain calls, but one can
 override rte by setting ifa_rtrequest hook to domain handler
 (inet6 does this).

3) ifconfig ifaceX mtu YYYY
 In this case, we have no callbacks, but ip[6]_output performes runtime
 checks and decreases rt_mtu if necessary.

Generally, the goals are to be able to handle all MTU changes in
 control plane, not in runtime part, and properly deal with increased
 interface MTU.

This commit changes the following:
* removes hooks setting MTU from drivers side
* adds proper per-doman MTU checks for case 1)
* adds generic MTU check for case 2)

* The latter is done by using new dom_ifmtu callback since
 if_mtu denotes L3 interface MTU, e.g. maximum trasmitted _packet_ size.
 However, IPv6 mtu might be different from if_mtu one (e.g. default 1280)
 for some cases, so we need an abstract way to know maximum MTU size
 for given interface and domain.
* moves rt_setmetrics() before MTU/ifa_rtrequest hooks since it copies
  user-supplied data which must be checked.
* removes RT_LOCK_ASSERT() from other ifa_rtrequest hooks to be able to
  use this functions on new non-inserted rte.

More changes will follow soon.

MFC after:	1 month
Sponsored by:	Yandex LLC
fifolog_writer does not depend on libutil
Finish r274118: remove useless fields from struct domain.

Sponsored by:	Yandex LLC
Finish r274118#2: commit forgotten uipc_debug.c
PAX ASLR: Implementing rwatson's requested changes - Phase 1

Note: cherry-picking this commit into our (HardenedBSD's) source
removes ugidfw integration. This is okay since secfw will be coming
soon-ish.

Conflicts:
	sys/kern/kern_exec.c
	sys/kern/kern_fork.c
	sys/kern/kern_pax.c
	sys/kern/kern_pax_aslr.c
	sys/kern/sys_process.c
	sys/security/mac_bsdextended/mac_bsdextended.h
	sys/sys/pax.h
	sys/sys/proc.h
PAX ASLR: Whitespace fix
Sort the references in "SEE ALSO" by section first; then alphabetically.

Pointed out by: brueffer@
Separate references by a comma.
clean removes @ and machine now, so no need to do it again.