Skip to content
Snippets Groups Projects
Commit 3e433e96 authored by Rob Clark's avatar Rob Clark Committed by Alexander Graf
Browse files

efi_loader: EFI file paths should be DOS style


shim.efi, for example, actually tries to parse this, but is expecting
backslashes.

Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
parent 8787b02e
No related branches found
No related tags found
No related merge requests found
...@@ -339,7 +339,7 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path) ...@@ -339,7 +339,7 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path)
{ {
__maybe_unused struct blk_desc *desc; __maybe_unused struct blk_desc *desc;
char devname[32] = { 0 }; /* dp->str is u16[32] long */ char devname[32] = { 0 }; /* dp->str is u16[32] long */
char *colon; char *colon, *s;
#if defined(CONFIG_BLK) || CONFIG_IS_ENABLED(ISO_PARTITION) #if defined(CONFIG_BLK) || CONFIG_IS_ENABLED(ISO_PARTITION)
desc = blk_get_dev(dev, simple_strtol(devnr, NULL, 10)); desc = blk_get_dev(dev, simple_strtol(devnr, NULL, 10));
...@@ -384,5 +384,9 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path) ...@@ -384,5 +384,9 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path)
} else { } else {
snprintf(devname, sizeof(devname), "%s", path); snprintf(devname, sizeof(devname), "%s", path);
} }
/* DOS style file path: */
s = devname;
while ((s = strchr(s, '/')))
*s++ = '\\';
ascii2unicode(bootefi_image_path[0].str, devname); ascii2unicode(bootefi_image_path[0].str, devname);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment