diff options
| author | Simon J. Gerraty <sjg@FreeBSD.org> | 2020-06-12 21:55:30 +0000 |
|---|---|---|
| committer | Simon J. Gerraty <sjg@FreeBSD.org> | 2020-06-12 21:55:30 +0000 |
| commit | 3e6e3de0aa0a25d4e2ddc43e19ed4686353ceb44 (patch) | |
| tree | 97b4f40d83dea78ed274a712e848daf7b66e9042 /lib/libsecureboot | |
| parent | 8cc8c5864ad300867f3410027a5fc2b9d98ce3ef (diff) | |
Notes
Diffstat (limited to 'lib/libsecureboot')
| -rw-r--r-- | lib/libsecureboot/verify_file.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/libsecureboot/verify_file.c b/lib/libsecureboot/verify_file.c index 20fc0ae4ae78..ca7c59abeffc 100644 --- a/lib/libsecureboot/verify_file.c +++ b/lib/libsecureboot/verify_file.c @@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <string.h> #include <sys/queue.h> +#include <sys/kenv.h> #include "libsecureboot.h" #include <verify_file.h> @@ -532,6 +533,19 @@ verify_pcr_export(void) DEBUG_PRINTF(1, ("%s: setenv(loader.ve.hashed, %s\n", __func__, hinfo)); + if ((hlen = strlen(hinfo)) > KENV_MVALLEN) { + /* + * bump kenv_mvallen + * roundup to multiple of KENV_MVALLEN + */ + char mvallen[16]; + + hlen += KENV_MVALLEN - + (hlen % KENV_MVALLEN); + if (snprintf(mvallen, sizeof(mvallen), + "%d", (int) hlen) < sizeof(mvallen)) + setenv("kenv_mvallen", mvallen, 1); + } free(hinfo); } } |
