
On 11/08/2017 03:40 PM, Alexander Graf wrote:
On 10/18/2017 06:13 PM, Heinrich Schuchardt wrote:
After executing bootefi selftest
- restore GD
- unlink the load image handle
- return 0 or 1 and not a truncated efi_status_t.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
v4 no change v3 new patch split off
cmd/bootefi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/cmd/bootefi.c b/cmd/bootefi.c index 18331536dd..40834f3899 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -349,8 +349,10 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) set_load_options(&loaded_image_info, "efi_selftest"); /* Execute the test */ r = efi_selftest(&loaded_image_info, &systab); + efi_restore_gd();
Why don't we have to restore gd on normal efi binaries? Because Exit() is doing that for us?
In that case, why not call efi_selftest() through efi_do_enter()? That should give you the exit call for free ;)
efi_do_enter calls boottime->exit which should unload the EFI application image (something we still need to implement). efi_selftest does not have an image to be unloaded. Hence I would prefer to keep efi_selftest separate from image handling functions.
Best regards
Heinrich