MFV r274273:

ZFS large block support.

Please note that booting from datasets that have recordsize greater
than 128KB is not supported (but it's Okay to enable the feature on
the pool).  This *may* remain unchanged because of memory constraint.

Limited safety belt is provided for mounted root filesystem but use
caution is advised.

Illumos issue:
    5027 zfs large block support

MFC after:	1 month
return kernel-supplied error if available.
Also fix field names in a comment.
Constify the AES code and propagate to consumers.  This allows us to
update the Fortuna code to use SHAd-256 as defined in FS&K.

Approved by:	so (self)
I just realized that the previous commit message makes no sense: the
first sentence should have read "Constify the AES and SHA-256 code and
wrappers".  This allows us to feed zero_region (which is const) to the
hash function during reseeding and thereby implement the FS&K version of
SHAd-256 instead of the older F&S version.

Approved by:	so (self)
For now handle only multicast addresses, we still use routes to
LLA unicasts yet.

Sponsored by:	Yandex LLC
Merge remote-tracking branch 'freebsd/master' into hardened/current/master
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/hardening
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/segvguard
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/ptrace
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/log
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/userlandenhanced
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/chacha
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/pie
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/aout
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/unstable
Merge remote-tracking branch 'origin/hardened/current/hardening' into hardened/current/unstable
Merge remote-tracking branch 'origin/hardened/current/segvguard' into hardened/current/unstable
Merge remote-tracking branch 'origin/hardened/current/ptrace' into hardened/current/unstable
Merge remote-tracking branch 'origin/hardened/current/log' into hardened/current/unstable
Merge remote-tracking branch 'origin/hardened/current/userlandenhanced' into hardened/current/unstable