Pull request for the UEFI subsystem for v2019.04-rc4

This pull request contains only bug fixes.
 
 The most notable bug fixed was writing to random memory addresses when
 trying to add a HII package of a yet unsupported package type.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEbcT5xx8ppvoGt20zxIHbvCwFGsQFAlx+IBUACgkQxIHbvCwF
 GsRj7A//ePmUU3cPrmtgFj7VMvDfRWsIfgwgrtW0uynjmDRYx9msNXUz0YQBEmmU
 iXe61B6V8dfZhuj65vTRGwUUkZJfikDHf/uFCczhbSj1KdY1qV8eMI6ZgNPYYvkk
 UlPL4BF/rnOSV5rqL1eXN/MC8Ka4FZwHseKuJupSj0WK9oyQqD0zEL6coJT5tpCh
 ZydsBT4UhbFxN5vAP2V40zFRUKwH+n6oQ/dohJgTdppnEpZuUTmmymzmxh323+nj
 gYqMQB2TArfLcEZL6+VR/sRqSUTewPdVxkdgEN02Gtl7Kuew1irxc85yEJEEJjc8
 u2MXlmf0nTAole1R7ZHY6MnwGUeYtiUKcKtp4BKnFssL8Pg2bPCIqjd/US0OZKwZ
 aZhUqFvXx89Sk2PXW9VO1WCNqkIEtnOS4Ze3V6wFxUlcaup2Re9iKMcyWnhbhmV8
 mkWuDJFjSt90q+lzEK64gN2ROHZfWz7tXZOaxtGe1fDdvuw+ijOxNaPfOZYRDPW/
 BOTmFyS3o+UrOdNQo7JAuoXNhVIz1N1rSxW2ZWgPOVgH015l9OEj7WLR1WmyC4oV
 mc5YquouT8jDoy9SiINP+t+ZVDtpa8RfBQ9Bxq2eew/v1BjOjRKDJep74moZtxrA
 WJ1pWiH3O0XFXhkZXBdl3P5WXmUukaIkduU7lxw3JS7gh+U0ZLw=
 =HuZ2
 -----END PGP SIGNATURE-----

Merge tag 'efi-2019-04-rc4' of https://github.com/xypron2/u-boot

Pull request for the UEFI subsystem for v2019.04-rc4

This pull request contains only bug fixes.

The most notable bug fixed was writing to random memory addresses when
trying to add a HII package of a yet unsupported package type.
This commit is contained in:
Tom Rini 2019-03-05 08:51:48 -05:00
commit ca1e50063a
3 changed files with 21 additions and 26 deletions

View File

@ -491,7 +491,7 @@ static int do_efi_boot_add(cmd_tbl_t *cmdtp, int flag,
id = (int)simple_strtoul(argv[1], &endp, 16);
if (*endp != '\0' || id > 0xffff)
return CMD_RET_FAILURE;
return CMD_RET_USAGE;
sprintf(var_name, "Boot%04X", id);
p = var_name16;

View File

@ -985,12 +985,7 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
if (!path)
return EFI_SUCCESS;
if (!is_net) {
/* Add leading / to fs paths, because they're absolute */
snprintf(filename, sizeof(filename), "/%s", path);
} else {
snprintf(filename, sizeof(filename), "%s", path);
}
snprintf(filename, sizeof(filename), "%s", path);
/* DOS style file path: */
s = filename;
while ((s = strchr(s, '/')))

View File

@ -343,6 +343,7 @@ static struct efi_hii_packagelist *new_packagelist(void)
struct efi_hii_packagelist *hii;
hii = malloc(sizeof(*hii));
list_add_tail(&hii->link, &efi_package_lists);
hii->max_string_id = 0;
INIT_LIST_HEAD(&hii->string_tables);
INIT_LIST_HEAD(&hii->guid_list);
@ -387,7 +388,7 @@ add_packages(struct efi_hii_packagelist *hii,
(struct efi_hii_guid_package *)package);
break;
case EFI_HII_PACKAGE_FORMS:
printf("\tForm package not supported\n");
EFI_PRINT("Form package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_STRINGS:
@ -395,19 +396,19 @@ add_packages(struct efi_hii_packagelist *hii,
(struct efi_hii_strings_package *)package);
break;
case EFI_HII_PACKAGE_FONTS:
printf("\tFont package not supported\n");
EFI_PRINT("Font package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_IMAGES:
printf("\tImage package not supported\n");
EFI_PRINT("Image package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_SIMPLE_FONTS:
printf("\tSimple font package not supported\n");
EFI_PRINT("Simple font package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_DEVICE_PATH:
printf("\tDevice path package not supported\n");
EFI_PRINT("Device path package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:
@ -415,7 +416,7 @@ add_packages(struct efi_hii_packagelist *hii,
(struct efi_hii_keyboard_package *)package);
break;
case EFI_HII_PACKAGE_ANIMATIONS:
printf("\tAnimation package not supported\n");
EFI_PRINT("Animation package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_END:
@ -465,7 +466,6 @@ new_package_list(const struct efi_hii_database_protocol *this,
}
hii->driver_handle = driver_handle;
list_add_tail(&hii->link, &efi_package_lists);
*handle = hii;
return EFI_EXIT(EFI_SUCCESS);
@ -522,33 +522,33 @@ update_package_list(const struct efi_hii_database_protocol *this,
remove_guid_package(hii);
break;
case EFI_HII_PACKAGE_FORMS:
printf("\tForm package not supported\n");
EFI_PRINT("Form package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_STRINGS:
remove_strings_package(hii);
break;
case EFI_HII_PACKAGE_FONTS:
printf("\tFont package not supported\n");
EFI_PRINT("Font package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_IMAGES:
printf("\tImage package not supported\n");
EFI_PRINT("Image package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_SIMPLE_FONTS:
printf("\tSimple font package not supported\n");
EFI_PRINT("Simple font package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_DEVICE_PATH:
printf("\tDevice path package not supported\n");
EFI_PRINT("Device path package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:
remove_keyboard_package(hii);
break;
case EFI_HII_PACKAGE_ANIMATIONS:
printf("\tAnimation package not supported\n");
EFI_PRINT("Animation package not supported\n");
ret = EFI_INVALID_PARAMETER;
break;
case EFI_HII_PACKAGE_END:
@ -609,7 +609,7 @@ list_package_lists(const struct efi_hii_database_protocol *this,
break;
continue;
case EFI_HII_PACKAGE_FORMS:
printf("\tForm package not supported\n");
EFI_PRINT("Form package not supported\n");
ret = EFI_INVALID_PARAMETER;
continue;
case EFI_HII_PACKAGE_STRINGS:
@ -617,19 +617,19 @@ list_package_lists(const struct efi_hii_database_protocol *this,
break;
continue;
case EFI_HII_PACKAGE_FONTS:
printf("\tFont package not supported\n");
EFI_PRINT("Font package not supported\n");
ret = EFI_INVALID_PARAMETER;
continue;
case EFI_HII_PACKAGE_IMAGES:
printf("\tImage package not supported\n");
EFI_PRINT("Image package not supported\n");
ret = EFI_INVALID_PARAMETER;
continue;
case EFI_HII_PACKAGE_SIMPLE_FONTS:
printf("\tSimple font package not supported\n");
EFI_PRINT("Simple font package not supported\n");
ret = EFI_INVALID_PARAMETER;
continue;
case EFI_HII_PACKAGE_DEVICE_PATH:
printf("\tDevice path package not supported\n");
EFI_PRINT("Device path package not supported\n");
ret = EFI_INVALID_PARAMETER;
continue;
case EFI_HII_PACKAGE_KEYBOARD_LAYOUT:
@ -637,7 +637,7 @@ list_package_lists(const struct efi_hii_database_protocol *this,
break;
continue;
case EFI_HII_PACKAGE_ANIMATIONS:
printf("\tAnimation package not supported\n");
EFI_PRINT("Animation package not supported\n");
ret = EFI_INVALID_PARAMETER;
continue;
case EFI_HII_PACKAGE_END: