efi_selftest: correctly cleanup after selftest

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>
Signed-off-by: Alexander Graf <agraf@suse.de>
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index b894403..0915192 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -349,8 +349,10 @@
 		set_load_options(&loaded_image_info, "efi_selftest");
 		/* Execute the test */
 		r = efi_selftest(&loaded_image_info, &systab);
+		efi_restore_gd();
 		free(loaded_image_info.load_options);
-		return r;
+		list_del(&loaded_image_info_obj.link);
+		return r != EFI_SUCCESS;
 	} else
 #endif
 	if (!strcmp(argv[1], "bootmgr")) {