Export all variables from the initial context when creating a submenu.
This commit is contained in:
parent
bd39ff1c37
commit
ffc10c83b2
@ -0,0 +1,44 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Javier Martinez Canillas <javierm@redhat.com>
|
||||||
|
Date: Tue, 22 Jan 2019 15:40:25 +0100
|
||||||
|
Subject: [PATCH] Export all variables from the initial context when creating a
|
||||||
|
submenu
|
||||||
|
|
||||||
|
When a submenu is created, only the exported variables are copied to the
|
||||||
|
new menu context. But we want the variables to be global, so export lets
|
||||||
|
export all variables to the new created submenu.
|
||||||
|
|
||||||
|
Also, don't unset the default variable when a new submenu is created.
|
||||||
|
|
||||||
|
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
|
||||||
|
---
|
||||||
|
grub-core/normal/context.c | 2 +-
|
||||||
|
grub-core/normal/menu.c | 2 --
|
||||||
|
2 files changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/normal/context.c b/grub-core/normal/context.c
|
||||||
|
index ee53d4a68e5..87edd254c44 100644
|
||||||
|
--- a/grub-core/normal/context.c
|
||||||
|
+++ b/grub-core/normal/context.c
|
||||||
|
@@ -99,7 +99,7 @@ grub_env_new_context (int export_all)
|
||||||
|
grub_err_t
|
||||||
|
grub_env_context_open (void)
|
||||||
|
{
|
||||||
|
- return grub_env_new_context (0);
|
||||||
|
+ return grub_env_new_context (1);
|
||||||
|
}
|
||||||
|
|
||||||
|
int grub_extractor_level = 0;
|
||||||
|
diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c
|
||||||
|
index 4a02aadb01c..fe2e77a43e2 100644
|
||||||
|
--- a/grub-core/normal/menu.c
|
||||||
|
+++ b/grub-core/normal/menu.c
|
||||||
|
@@ -375,8 +375,6 @@ grub_menu_execute_entry(grub_menu_entry_t entry, int auto_boot)
|
||||||
|
|
||||||
|
if (ptr && ptr[0] && ptr[1])
|
||||||
|
grub_env_set ("default", ptr + 1);
|
||||||
|
- else
|
||||||
|
- grub_env_unset ("default");
|
||||||
|
|
||||||
|
grub_script_execute_new_scope (entry->sourcecode, entry->argc, entry->args);
|
||||||
|
|
||||||
@ -234,3 +234,4 @@ Patch233: LoongArch-Add-back-compatibility-for-linux-kernel.patch
|
|||||||
Patch234: Fix-that-patch-28dcf48482-introduced-old-code.patch
|
Patch234: Fix-that-patch-28dcf48482-introduced-old-code.patch
|
||||||
Patch235: backport-CVE-2021-46848-lib-libtasn1-Fix-ETYPE_OK-off-by-one-array.patch
|
Patch235: backport-CVE-2021-46848-lib-libtasn1-Fix-ETYPE_OK-off-by-one-array.patch
|
||||||
Patch236: backport-disk-mdraid1x_linux-Prevent-infinite-recursion.patch
|
Patch236: backport-disk-mdraid1x_linux-Prevent-infinite-recursion.patch
|
||||||
|
Patch237: backport-Export-all-variables-from-the-initial-context-when-c.patch
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
Name: grub2
|
Name: grub2
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 2.12
|
Version: 2.12
|
||||||
Release: 20
|
Release: 21
|
||||||
Summary: Bootloader with support for Linux, Multiboot and more
|
Summary: Bootloader with support for Linux, Multiboot and more
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: http://www.gnu.org/software/grub/
|
URL: http://www.gnu.org/software/grub/
|
||||||
@ -454,6 +454,12 @@ fi
|
|||||||
%{_datadir}/man/man*
|
%{_datadir}/man/man*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jun 28 2024 yueyuankun <yueyuankun@kylinos.cn> - 1:2.12-21
|
||||||
|
- Type:bugfix
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:Export all variables from the initial context when creating a submenu
|
||||||
|
|
||||||
* Tue Jun 25 2024 peng.zou <peng.zou@shingroup.cn> - 1:2.12-20
|
* Tue Jun 25 2024 peng.zou <peng.zou@shingroup.cn> - 1:2.12-20
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- CVE:NA
|
- CVE:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user