freebsd-skq/lib
sjg 7993a62d04 veloader use vectx API for kernel and modules
The vectx API, computes the hash for verifying a file as it is read.
This avoids the overhead of reading files twice - once to verify, then
again to load.

For doing an install via loader, avoiding the need to rewind
large files is critical.

This API is only used for modules, kernel and mdimage as these are the
biggest files read by the loader.
The reduction in boot time depends on how expensive the I/O is
on any given platform.  On a fast VM we see 6% improvement.

For install via loader the first file to be verified is likely to be the
kernel, so some of the prep work (finding manifest etc) done by
verify_file() needs to be factored so it can be reused for
vectx_open().

For missing or unrecognized fingerprint entries, we fail
in vectx_open() unless verifying is disabled.

Otherwise fingerprint check happens in vectx_close() and
since this API is only used for files which must be verified
(VE_MUST) we panic if we get an incorrect hash.

Reviewed by:	imp,tsoome
MFC after:	1 week
Sponsored by:	Juniper Networks
Differential Revision:	https://reviews.freebsd.org//D23827
2020-03-08 17:42:42 +00:00
..
atf Update Makefile.depend files 2019-12-11 17:37:53 +00:00
clang [PowerPC] Fix libllvmminimal build when building from powerpc64 ELFv1. 2020-01-07 22:45:02 +00:00
csu Remove libthr, csu, libthread_db and testfloat sparc64 specific directories. 2020-02-27 04:44:58 +00:00
geom Add some missing articles. 2020-01-28 15:34:00 +00:00
googletest Another round of attempting to squelch -Wdeprecated-declarations, which 2019-09-17 06:07:08 +00:00
lib80211 Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libalias Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libarchive MFV r358511,r358532: 2020-03-02 08:44:58 +00:00
libauditd pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libbe Drop "All Rights Reserved" from all libbe/bectl files 2020-01-24 02:18:09 +00:00
libbearssl Add libbearssl 2019-02-26 05:59:22 +00:00
libbegemot Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libblacklist Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libblocksruntime Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
libbluetooth Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libbsdstat Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libbsm Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libbsnmp Update dirdeps.mk and gendirdeps.mk 2019-12-11 17:38:15 +00:00
libbz2 Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libc powerpc/memcpy: Don't predict the src and dst will be misaligned 2020-03-06 03:46:48 +00:00
libc_nonshared
libc++ Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around 2020-01-14 17:50:13 +00:00
libc++experimental Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
libcalendar Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libcam Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libcapsicum capsicum_helpers: split stream cap bits out of caph_limit_stream() 2020-01-02 23:07:45 +00:00
libcasper Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libclang_rt Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2019-12-22 11:50:44 +00:00
libcom_err Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libcompat
libcompiler_rt Remove sparc64 specific inclusion of bswap32 built-ins. 2020-02-12 06:56:04 +00:00
libcrypt Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libcuse Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libcxxrt Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around 2020-01-14 17:50:13 +00:00
libdevctl Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libdevdctl libdevdctl: g++9 avoid Wdeprecated-copy 2019-12-21 02:44:26 +00:00
libdevinfo Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libdevstat Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libdl
libdpv Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libdwarf Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libedit Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libefivar Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libelf Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libelftc Update ELF Tool Chain to upstream r3769 2019-12-05 13:20:15 +00:00
libevent Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libexecinfo Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
libexpat Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libfetch fetch(3): plug some leaks 2020-02-21 18:21:57 +00:00
libfigpar Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libgcc_eh Revert r353140: Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around 2020-01-14 17:50:13 +00:00
libgcc_s Fix LLVM libunwnwind _Unwind_Backtrace symbol version for ARM. 2019-12-16 14:08:49 +00:00
libgeom Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libgpio Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libgssapi Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libiconv_modules
libifconfig Make libifconfig INTERNALLIB 2019-02-25 18:22:20 +00:00
libipsec Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libipt Update Intel Processor Trace decoder library. 2019-10-10 12:46:34 +00:00
libjail libjail: Handle an error from reallocarray() when trimming the buffer. 2020-01-07 21:44:27 +00:00
libkiconv pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libkvm Remove swblk_t. 2020-02-17 15:11:07 +00:00
libldns Update Makefile.depend files 2019-12-11 17:37:53 +00:00
liblzma Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libmagic MFV r357712: file 5.38. 2020-02-11 07:02:48 +00:00
libmd Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libmemstat Use per-domain locks for the bucket cache. 2020-02-19 18:48:46 +00:00
libmilter Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libmp Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libmt Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libnetbsd
libnetgraph Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libngatm Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libnv Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libomp Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
libopenbsd
libopencsd Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libopie Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libpam This commit makes significant changes to pam_login_access(8) to bring it 2020-02-18 11:27:08 +00:00
libpathconv
libpcap MFV r353141 (by phillip): 2019-12-21 21:01:03 +00:00
libpe
libpjdlog pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libpmc pmc: Add Hygon Dhyana support. 2020-02-07 22:28:04 +00:00
libpmcstat
libproc Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libprocstat fd: use smr for managing struct pwd 2020-03-08 00:23:36 +00:00
libradius libradius: Rip out dubious use of srandomdev(3)+random(3) 2019-12-13 04:55:17 +00:00
libregex Further normalize copyright notices 2019-09-26 16:19:22 +00:00
librpcsec_gss
librpcsvc Update Makefile.depend files 2019-12-11 17:37:53 +00:00
librss Update Makefile.depend files 2019-12-11 17:37:53 +00:00
librt pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
librtld_db Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libsbuf Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libsdp Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libsecureboot veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
libsm
libsmb
libsmdb
libsmutil
libsqlite3 Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libssp libssp: fix FORTIFY_SOURCE stub declarations 2020-01-04 22:05:00 +00:00
libssp_nonshared Provide libssp based on libc 2020-01-04 20:19:25 +00:00
libstats Make use of the stats(3) framework in the TCP stack. 2019-12-02 20:58:04 +00:00
libstdbuf
libstdthreads Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libsysdecode libsysdecode: grab shmflags from sys/mman.h, add decode method 2020-02-19 14:52:32 +00:00
libtacplus libtacplus: Remove bogus srandomdev+random 2019-12-13 05:11:34 +00:00
libtelnet
libthr Remove libthr, csu, libthread_db and testfloat sparc64 specific directories. 2020-02-27 04:44:58 +00:00
libthread_db Remove libthr, csu, libthread_db and testfloat sparc64 specific directories. 2020-02-27 04:44:58 +00:00
libucl Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libufs Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libugidfw Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libulog Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libunbound Unbound's config.h is manually maintained, using a ./configure produced 2020-01-13 06:55:31 +00:00
libusb Add missing mutex unlock in failure case. 2020-01-30 17:30:04 +00:00
libusbhid Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libutil login.conf(5): split MAIL env var out into a "mail" capability 2020-02-05 04:17:14 +00:00
libveriexec Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libvgl Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libvmmapi Forgotten to remove the previous if statement in commit r355838. 2019-12-17 01:37:02 +00:00
libwrap Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libxo Import libxo-1.4.0: 2020-01-25 21:16:45 +00:00
liby
libypclnt Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libz Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libzstd Update Makefile.depend files 2019-12-11 17:37:53 +00:00
msun Remove sparc64 specific parts of libm and fix comments 2020-02-26 18:55:03 +00:00
ncurses ncurses: bump shlib number to version 9 2020-02-20 09:12:07 +00:00
ofed Update Makefile.depend files 2019-12-11 17:37:53 +00:00
tests
Makefile retire the LLVM_LIBUNWIND option 2020-02-29 12:43:43 +00:00
Makefile.inc