All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] EFI loader: remove redundant code
@ 2016-11-02  4:18 ` Eugene Korenevsky
  0 siblings, 0 replies; 6+ messages in thread
From: Eugene Korenevsky @ 2016-11-02  4:18 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-efi-u79uwXL29TY76Z2rM5mHXA
  Cc: Matt Fleming, Linn Crosetto, Ard Biesheuvel, H. Peter Anvin,
	Thomas Gleixner, Ingo Molnar

*e820ext is always NULL in 'alloc_e820ext()' (see the code of 'exit_boot()').
Without loss of generality we can replace freeing with returning
EFI_INVALID_PARAMETER. So if the caller would ever incorrectly pass non-NULL
*e820ext, he will obtain a returned error code.

---
 arch/x86/boot/compressed/eboot.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index cc69e37..6cc66c7 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -956,11 +956,8 @@ static efi_status_t alloc_e820ext(u32 nr_desc, struct setup_data **e820ext,
 	size = sizeof(struct setup_data) +
 		sizeof(struct e820entry) * nr_desc;
 
-	if (*e820ext) {
-		efi_call_early(free_pool, *e820ext);
-		*e820ext = NULL;
-		*e820ext_size = 0;
-	}
+	if (*e820ext)
+		return EFI_INVALID_PARAMETER;
 
 	status = efi_call_early(allocate_pool, EFI_LOADER_DATA,
 				size, (void **)e820ext);
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-11-02 13:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-02  4:18 [PATCH v2] EFI loader: remove redundant code Eugene Korenevsky
2016-11-02  4:18 ` Eugene Korenevsky
2016-11-02  9:25 ` Ard Biesheuvel
     [not found]   ` <CAKv+Gu8xkxPSkA+3Sqo-kcL=b6ex6MNQ7DrDV_sqcQrfmqkvCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-02 13:56     ` Eugene Korenevsky
2016-11-02 13:56       ` Eugene Korenevsky
2016-11-02 13:57       ` Ard Biesheuvel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.