Print this page
10349 bop_blacklist should cover loader menu
@@ -24,11 +24,11 @@
* Use is subject to license terms.
*
* Copyright (c) 2010, Intel Corporation.
* All rights reserved.
*
- * Copyright 2018 Joyent, Inc. All rights reserved.
+ * Copyright (c) 2019, Joyent, Inc.
*/
/*
* This file contains the functionality that mimics the boot operations
* on SPARC systems or the old boot.bin/multiboot programs on x86 systems.
@@ -1286,19 +1286,22 @@
* To keep the blacklist from growing too large, we use prefix based filtering.
* This is possible because in many cases, the loader variable names are
* using a structured layout.
*
* We will not overwrite already set properties.
+ *
+ * Note that the menu items in particular can contain characters not
+ * well-handled as bootparams, such as spaces, brackets, and the like, so that's
+ * another reason.
*/
static struct bop_blacklist {
const char *bl_name;
int bl_name_len;
} bop_prop_blacklist[] = {
{ "ISADIR", sizeof ("ISADIR") },
{ "acpi", sizeof ("acpi") },
{ "autoboot_delay", sizeof ("autoboot_delay") },
- { "autoboot_delay", sizeof ("autoboot_delay") },
{ "beansi_", sizeof ("beansi_") },
{ "beastie", sizeof ("beastie") },
{ "bemenu", sizeof ("bemenu") },
{ "boot.", sizeof ("boot.") },
{ "bootenv", sizeof ("bootenv") },
@@ -1306,12 +1309,20 @@
{ "dhcp.", sizeof ("dhcp.") },
{ "interpret", sizeof ("interpret") },
{ "kernel", sizeof ("kernel") },
{ "loaddev", sizeof ("loaddev") },
{ "loader_", sizeof ("loader_") },
+ { "mainansi_", sizeof ("mainansi_") },
+ { "mainmenu_", sizeof ("mainmenu_") },
+ { "maintoggled_", sizeof ("maintoggled_") },
+ { "menu_timeout_command", sizeof ("menu_timeout_command") },
+ { "menuset_", sizeof ("menuset_") },
{ "module_path", sizeof ("module_path") },
{ "nfs.", sizeof ("nfs.") },
+ { "optionsansi_", sizeof ("optionsansi_") },
+ { "optionsmenu_", sizeof ("optionsmenu_") },
+ { "optionstoggled_", sizeof ("optionstoggled_") },
{ "pcibios", sizeof ("pcibios") },
{ "prompt", sizeof ("prompt") },
{ "smbios", sizeof ("smbios") },
{ "tem", sizeof ("tem") },
{ "twiddle_divisor", sizeof ("twiddle_divisor") },