Fix a couple of bugs on amd64 when fetching probe arguments beyond the
first five for probes entered through a UD fault (i.e. FBT probes).

Specifically, handle the fact that dtrace_invop_callsite must be
16 byte-aligned and thus may not immediately follow the call to
dtrace_invop() in dtrace_invop_start(). Also fetch register arguments and
the stack pointer through a struct trapframe instead of a struct reg.

PR:		191260
Submitted by:	luke.tw@gmail.com
MFC after:	3 weeks


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267759 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Tidy up fd-related functions called by do_execve

o assert in each one that fdp is not shared
o remove unnecessary NULL checks - all userspace processes have fdtables
and kernel processes cannot execve
o remove comments about the danger of fd_ofiles getting reallocated - fdtable
is not shared and fd_ofiles could be only reallocated if new fd was about to be
added, but if that was possible the code would already be buggy as setugidsafety
work could be undone

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267760 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix some bugs when fetching probe arguments in i386. Firstly ensure that
the 4 byte-aligned dtrace_invop_callsite can be found and that it
immediately follows the call to dtrace_invop(). Secondly, fix some pointer
arithmetic to account for differences between struct i386_frame and illumos'
struct frame. Finally, ensure that dtrace_getarg() isn't inlined. It works
by following a fixed number of frame pointers to the probe site, so inlining
breaks it.

MFC after:	3 weeks


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267761 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Restore the check for non-NULL dmatag in sndbuf_free.

The sound drivers that use own buffer management can use sndbuf_setup
and not do any busdma allocation, so the driver will end up with the
managed buffer but no valid dma map and tag for it. Avoid calling
bus_dmamem_free in such cases.

Reported by: ache
Missed in review by: kan


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267762 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Catch up with r186809, correct comments.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267763 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Use correct names for the flags.  MAP_ENTRY_GROWS_* have the same
numerical values as MAP_STACK_GROWS_*, but the former is for entries'
eflags, while the later for the cow argument of vm_map_insert().

Submitted by:	alc


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267766 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add FPU_KERN_KTHR flag to fpu_kern_enter(9), which avoids saving FPU
context into memory for the kernel threads which called
fpu_kern_thread(9).  This allows the fpu_kern_enter() callers to not
check for is_fpu_kern_thread() to get the optimization.

Apply the flag to padlock(4) and aesni(4).  In aesni_cipher_process(),
do not leak FPU context state on error.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267767 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Add documentation for the fpu_kern(9) interfaces.

Many thanks to jmg for reviewing the (previous version) of the text
and providing grammar and content fixes.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267768 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
use .Mt to mark up email addresses consistently (part3)

PR:		191174
Submitted by:	Franco Fichtner  <franco at lastsummer.de>


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267773 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
use .Mt to mark up email addresses consistently (part4)

PR:		191174
Submitted by:	Franco Fichtner  <franco at lastsummer.de>


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267774 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
use .Mt to mark up email addresses consistently (part6)

PR:		191174
Submitted by:	Franco Fichtner <franco at lastsummer.de>


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267776 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Several small fixes (typos, grammar, mdoc).


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267785 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix markup and grammar.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267795 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Exclude IPv4 address from doing longest match.
It prevented DNS based load balancing.

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267800 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Make nd6_gctimer tunable.

MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267801 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
With the move away from GNATS, drop the CTM config file for downloading
the GNATS database, it will be going away soon.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267802 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
mdoc: remove superfluous paragraph macros.


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267803 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Provide APIs to directly get 'lowmem' and 'highmem' size directly.

Previously the sizes were inferred indirectly based on the size of the mappings
at 0 and 4GB respectively. This works fine as long as size of the allocation is
identical to the size of the mapping in the guest's address space. However, if
the mapping is disjoint then this assumption falls apart (e.g., due to the
legacy BIOS hole between 640KB and 1MB).


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267811 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix ifname normalization.  ifconfig_IF_alias{es,N} did not work if ifname has
any of [.-/+].

Spotted by:	jhay


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267812 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Make cpuctl_do_cpuid() and cpuctl_do_cpuid_count() return void.
There is no error to report.

Requested by:	attilio
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week


git-svn-id: svn+ssh://svn.freebsd.org/base/head@267814 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f