Whenever we want to tell our payload about a path, we limit ourselves
to a reasonable amount of characters. So far we only passed in device
names - exceeding 16 chars was unlikely there.
However by now we also pass real file path information, so let's increase
the limit to 32 characters. That way common paths like "boot/efi/bootaa64.efi"
fit just fine.
Signed-off-by: Alexander Graf <agraf@suse.de>
void efi_set_bootdev(const char *dev, const char *devnr, const char *path)
{
__maybe_unused struct blk_desc *desc;
- char devname[16] = { 0 }; /* dp->str is u16[16] long */
+ char devname[32] = { 0 }; /* dp->str is u16[32] long */
char *colon;
/* Assemble the condensed device name we use in efi_disk.c */
struct efi_device_path_file_path {
struct efi_device_path dp;
- u16 str[16];
+ u16 str[32];
};
#define BLOCK_IO_GUID \
{
int disks = 0;
#ifdef CONFIG_ISO_PARTITION
- char devname[16] = { 0 }; /* dp->str is u16[16] long */
+ char devname[32] = { 0 }; /* dp->str is u16[32] long */
disk_partition_t info;
int part = 1;
printf("Scanning disks on %s...\n", cur_drvr->name);
for (i = 0; i < 4; i++) {
struct blk_desc *desc;
- char devname[16] = { 0 }; /* dp->str is u16[16] long */
+ char devname[32] = { 0 }; /* dp->str is u16[32] long */
desc = blk_get_dev(cur_drvr->name, i);
if (!desc)