diff options
author | Toomas Soome <tsoome@me.com> | 2022-11-02 12:36:15 +0200 |
---|---|---|
committer | Toomas Soome <tsoome@me.com> | 2022-11-08 15:44:39 +0200 |
commit | ab4969f8ab0fdee71bced8aced6cd4db6cbed1ca (patch) | |
tree | 01a203dc2efcc754da772057c613c68ef929d459 | |
parent | d56b5f9f1e06794379c22afb6e6ba0ac704e4214 (diff) | |
download | illumos-joyent-ab4969f8ab0fdee71bced8aced6cd4db6cbed1ca.tar.gz |
15139 loader: avoid duplicate load for environment and console-font
Reviewed by: Andy Stormont <andyjstormont@gmail.com>
Reviewed-by: Igor Kozhukhov <igor@dilos.org>
Approved by: Gordon Ross <gordon.w.ross@gmail.com>
-rw-r--r-- | usr/src/boot/Makefile.version | 2 | ||||
-rw-r--r-- | usr/src/boot/common/module.c | 14 |
2 files changed, 13 insertions, 3 deletions
diff --git a/usr/src/boot/Makefile.version b/usr/src/boot/Makefile.version index 67ca14987c..05c0684bc6 100644 --- a/usr/src/boot/Makefile.version +++ b/usr/src/boot/Makefile.version @@ -34,4 +34,4 @@ LOADER_VERSION = 1.1 # Use date like formatting here, YYYY.MM.DD.XX, without leading zeroes. # The version is processed from left to right, the version number can only # be increased. -BOOT_VERSION = $(LOADER_VERSION)-2022.09.04.1 +BOOT_VERSION = $(LOADER_VERSION)-2022.11.02.1 diff --git a/usr/src/boot/common/module.c b/usr/src/boot/common/module.c index 481c07eb58..df4a2d0744 100644 --- a/usr/src/boot/common/module.c +++ b/usr/src/boot/common/module.c @@ -458,12 +458,17 @@ build_environment_module(void) vm_offset_t laddr; /* We can't load first */ - if ((file_findfile(NULL, NULL)) == NULL) { + if (file_findfile(NULL, NULL) == NULL) { printf("Can not load environment module: %s\n", "the kernel is not loaded"); return; } + if (file_findfile(name, name) != NULL) { + printf("warning: '%s' is already loaded\n", name); + return; + } + tem_save_state(); /* Ask tem to save it's state in env. */ size = env_get_size(); @@ -522,12 +527,17 @@ build_font_module(void) return; /* We can't load first */ - if ((file_findfile(NULL, NULL)) == NULL) { + if (file_findfile(NULL, NULL) == NULL) { printf("Can not load font module: %s\n", "the kernel is not loaded"); return; } + if (file_findfile(name, name) != NULL) { + printf("warning: '%s' is already loaded\n", name); + return; + } + /* helper pointers */ bd = NULL; STAILQ_FOREACH(fl, &fonts, font_next) { |