[PATCH] env/fatvars.c: Use AllocateZeroPool for allocating env data buffer

4 views
Skip to first unread message

venkat...@toshiba-tsip.com

unread,
Jul 28, 2022, 9:51:58 AM7/28/22
to efibootg...@googlegroups.com, jan.k...@siemens.com, venkata pyla, dinesh...@toshiba-tsip.com, kazuhiro...@toshiba.co.jp
From: venkata pyla <venkat...@toshiba-tsip.com>

This avoids unnecessary garbage data in env data buffer and allows to
load configuration when valid config parts are less than ENV_NUM_CONFIG_PARTS.

This fixes the efi configuration load issue when single efi config
partition is used.

Signed-off-by: venkata pyla <venkat...@toshiba-tsip.com>
---
env/fatvars.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/env/fatvars.c b/env/fatvars.c
index 4cd52ad..1365f0d 100644
--- a/env/fatvars.c
+++ b/env/fatvars.c
@@ -94,7 +94,7 @@ BG_STATUS load_config(BG_LOADER_PARAMS *bglp)
UINTN i;
int env_invalid[ENV_NUM_CONFIG_PARTS] = {0};

- env = (BG_ENVDATA *)AllocatePool(sizeof(BG_ENVDATA) *
+ env = (BG_ENVDATA *)AllocateZeroPool(sizeof(BG_ENVDATA) *
ENV_NUM_CONFIG_PARTS);
if (!env) {
ERROR(L"Could not allocate memory for config data.\n");
--
2.20.1


Jan Kiszka

unread,
Jul 29, 2022, 3:05:27 AM7/29/22
to venkat...@toshiba-tsip.com, efibootg...@googlegroups.com, dinesh...@toshiba-tsip.com, kazuhiro...@toshiba.co.jp
Good catch! Applied.

Given that a potential attacker could also simply provide a zeroed
bgenv.dat to cause this, this is not an attack vector. Still a bug.

Thanks,
Jan

--
Siemens AG, Technology
Competence Center Embedded Linux
Reply all
Reply to author
Forward
0 new messages