diff options
author | Michael Neuling <mikey@neuling.org> | 2019-05-13 17:09:39 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2019-05-15 15:43:19 +1000 |
commit | 5beda3c6fe5b72aac95b4c13746ae598dfd64c01 (patch) | |
tree | 9f8db43611af7bf743c4a70c6843fb5e614be400 /core/init.c | |
parent | c8b5e8a95caf029ffe73ea18769fdd7f2da48ab4 (diff) | |
download | skiboot-5beda3c6fe5b72aac95b4c13746ae598dfd64c01.zip skiboot-5beda3c6fe5b72aac95b4c13746ae598dfd64c01.tar.gz skiboot-5beda3c6fe5b72aac95b4c13746ae598dfd64c01.tar.bz2 |
nvram: Flag dangerous NVRAM options
Most nvram options used by skiboot are just for debug or testing for
regressions. They should never be used long term.
We've hit a number of issues in testing and the field where nvram
options have been set "temporarily" but haven't been properly cleared
after, resulting in crashes or real bugs being masked.
This patch marks most nvram options used by skiboot as dangerous and
prints a chicken to remind users of the problem.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Reviewed-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Acked-By: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'core/init.c')
-rw-r--r-- | core/init.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/init.c b/core/init.c index bca12df..c066163 100644 --- a/core/init.c +++ b/core/init.c @@ -582,7 +582,7 @@ void __noreturn load_and_boot_kernel(bool is_reboot) fsp_console_select_stdout(); /* Use nvram bootargs over device tree */ - cmdline = nvram_query("bootargs"); + cmdline = nvram_query_safe("bootargs"); if (cmdline) { dt_check_del_prop(dt_chosen, "bootargs"); dt_add_property_string(dt_chosen, "bootargs", cmdline); @@ -740,7 +740,7 @@ static void console_log_level(void) /* console log level: * high 4 bits in memory, low 4 bits driver (e.g. uart). */ - s = nvram_query("log-level-driver"); + s = nvram_query_safe("log-level-driver"); if (s) { level = console_get_level(s); debug_descriptor.console_log_levels = @@ -749,7 +749,7 @@ static void console_log_level(void) prlog(PR_NOTICE, "console: Setting driver log level to %i\n", level & 0x0f); } - s = nvram_query("log-level-memory"); + s = nvram_query_safe("log-level-memory"); if (s) { level = console_get_level(s); debug_descriptor.console_log_levels = @@ -867,7 +867,7 @@ static void pci_nvram_init(void) pcie_max_link_speed = 0; - nvram_speed = nvram_query("pcie-max-link-speed"); + nvram_speed = nvram_query_dangerous("pcie-max-link-speed"); if (nvram_speed) { pcie_max_link_speed = atoi(nvram_speed); prlog(PR_NOTICE, "PHB: NVRAM set max link speed to GEN%i\n", |