Skip to content
Snippets Groups Projects
Commit 49271666 authored by Alexander Graf's avatar Alexander Graf Committed by Tom Rini
Browse files

efi_loader: Make exposed image loader path absolute


When loading an efi image, we pass it the location it was loaded from.

On file system backends, there are no relative paths, so we should always
pass in absolute ones. For network paths, we may be relative.

This fixes distro booting with grub2 for me when it fetches the grub2 config
file from the loader partition.

Reported-by: default avataryork sun <york.sun@nxp.com>
Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
parent e8fb4358
No related merge requests found
......@@ -290,6 +290,11 @@ void efi_set_bootdev(const char *dev, const char *devnr, const char *path)
/* Patch bootefi_image_path to the target file path */
memset(bootefi_image_path[0].str, 0, sizeof(bootefi_image_path[0].str));
snprintf(devname, sizeof(devname), "%s", path);
if (strcmp(dev, "Net")) {
/* Add leading / to fs paths, because they're absolute */
snprintf(devname, sizeof(devname), "/%s", path);
} else {
snprintf(devname, sizeof(devname), "%s", path);
}
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