mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-22 18:41:06 +00:00
x86/efistub: Avoid returning EFI_SUCCESS on error
The fail label is only used in a situation where the previous EFI API call succeeded, and so status will be set to EFI_SUCCESS. Fix this, by dropping the goto entirely, and call efi_exit() with the correct error code. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
parent
71e49eccdc
commit
fb318ca0a5
1 changed files with 1 additions and 4 deletions
|
@ -566,16 +566,13 @@ efi_status_t __efiapi efi_pe_entry(efi_handle_t handle,
|
||||||
/* Convert unicode cmdline to ascii */
|
/* Convert unicode cmdline to ascii */
|
||||||
cmdline_ptr = efi_convert_cmdline(image, &options_size);
|
cmdline_ptr = efi_convert_cmdline(image, &options_size);
|
||||||
if (!cmdline_ptr)
|
if (!cmdline_ptr)
|
||||||
goto fail;
|
efi_exit(handle, EFI_OUT_OF_RESOURCES);
|
||||||
|
|
||||||
efi_set_u64_split((unsigned long)cmdline_ptr, &hdr->cmd_line_ptr,
|
efi_set_u64_split((unsigned long)cmdline_ptr, &hdr->cmd_line_ptr,
|
||||||
&boot_params.ext_cmd_line_ptr);
|
&boot_params.ext_cmd_line_ptr);
|
||||||
|
|
||||||
efi_stub_entry(handle, sys_table_arg, &boot_params);
|
efi_stub_entry(handle, sys_table_arg, &boot_params);
|
||||||
/* not reached */
|
/* not reached */
|
||||||
|
|
||||||
fail:
|
|
||||||
efi_exit(handle, status);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void add_e820ext(struct boot_params *params,
|
static void add_e820ext(struct boot_params *params,
|
||||||
|
|
Loading…
Reference in a new issue