Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80295824 authored by Masayoshi Mizuma's avatar Masayoshi Mizuma Committed by Greg Kroah-Hartman
Browse files

ktest: Add support for meta characters in GRUB_MENU

[ Upstream commit 68911069f509ba3bf0f513d9af00309e07932906 ]

ktest fails if meta characters are in GRUB_MENU, for example
GRUB_MENU = 'Fedora (test)'

The failure happens because the meta characters are not escaped,
so the menu doesn't match in any entries in GRUB_FILE.

Use quotemeta() to escape the meta characters.

Link: http://lkml.kernel.org/r/20190417235823.18176-1-msys.mizuma@gmail.com



Signed-off-by: default avatarMasayoshi Mizuma <m.mizuma@jp.fujitsu.com>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
Stable-dep-of: 26df05a8c142 ("kest.pl: Fix grub2 menu handling for rebooting")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 7795d8f1
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1866,9 +1866,10 @@ sub get_grub2_index {
	or dodie "unable to get $grub_file";

    my $found = 0;
    my $grub_menu_qt = quotemeta($grub_menu);

    while (<IN>) {
	if (/^menuentry.*$grub_menu/) {
	if (/^menuentry.*$grub_menu_qt/) {
	    $grub_number++;
	    $found = 1;
	    last;
@@ -1909,9 +1910,10 @@ sub get_grub_index {
	or dodie "unable to get menu.lst";

    my $found = 0;
    my $grub_menu_qt = quotemeta($grub_menu);

    while (<IN>) {
	if (/^\s*title\s+$grub_menu\s*$/) {
	if (/^\s*title\s+$grub_menu_qt\s*$/) {
	    $grub_number++;
	    $found = 1;
	    last;