34 lines
1.4 KiB
Diff
34 lines
1.4 KiB
Diff
|
|
From 2aa665ad2cb13bc79b645db41686449a47593aab Mon Sep 17 00:00:00 2001
|
||
|
|
From: Emekcan <emekcan.aras@arm.com>
|
||
|
|
Date: Thu, 3 Nov 2022 17:43:40 +0000
|
||
|
|
Subject: [PATCH] smm_gateway: GetNextVariableName Fix
|
||
|
|
|
||
|
|
GetNextVariableName() should return EFI_BUFFER_TOO_SMALL
|
||
|
|
when NameSize is smaller than the actual NameSize. It
|
||
|
|
currently returns EFI_BUFFER_OUT_OF_RESOURCES due to setting
|
||
|
|
max_name_len incorrectly. This fixes max_name_len error by
|
||
|
|
replacing it with actual NameSize request by u-boot.
|
||
|
|
|
||
|
|
Upstream-Status: Pending
|
||
|
|
Signed-off-by: Emekcan Aras <emekcan.aras@arm.com>
|
||
|
|
---
|
||
|
|
.../service/smm_variable/provider/smm_variable_provider.c | 2 +-
|
||
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/components/service/smm_variable/provider/smm_variable_provider.c b/components/service/smm_variable/provider/smm_variable_provider.c
|
||
|
|
index a9679b7e..6a4b6fa7 100644
|
||
|
|
--- a/components/service/smm_variable/provider/smm_variable_provider.c
|
||
|
|
+++ b/components/service/smm_variable/provider/smm_variable_provider.c
|
||
|
|
@@ -197,7 +197,7 @@ static rpc_status_t get_next_variable_name_handler(void *context, struct call_re
|
||
|
|
efi_status = uefi_variable_store_get_next_variable_name(
|
||
|
|
&this_instance->variable_store,
|
||
|
|
(SMM_VARIABLE_COMMUNICATE_GET_NEXT_VARIABLE_NAME*)resp_buf->data,
|
||
|
|
- max_name_len,
|
||
|
|
+ ((SMM_VARIABLE_COMMUNICATE_GET_NEXT_VARIABLE_NAME*)resp_buf->data)->NameSize,
|
||
|
|
&resp_buf->data_len);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
--
|
||
|
|
2.17.1
|
||
|
|
|