@@ -207,11 +207,21 @@ efi_status_t efi_entry(efi_handle_t handle, efi_system_table_t *sys_table_arg)
207
207
208
208
if (IS_ENABLED (CONFIG_CMDLINE_EXTEND ) ||
209
209
IS_ENABLED (CONFIG_CMDLINE_FORCE ) ||
210
- cmdline_size == 0 )
211
- efi_parse_options (CONFIG_CMDLINE );
210
+ cmdline_size == 0 ) {
211
+ status = efi_parse_options (CONFIG_CMDLINE );
212
+ if (status != EFI_SUCCESS ) {
213
+ efi_err ("Failed to parse options\n" );
214
+ goto fail_free_cmdline ;
215
+ }
216
+ }
212
217
213
- if (!IS_ENABLED (CONFIG_CMDLINE_FORCE ) && cmdline_size > 0 )
214
- efi_parse_options (cmdline_ptr );
218
+ if (!IS_ENABLED (CONFIG_CMDLINE_FORCE ) && cmdline_size > 0 ) {
219
+ status = efi_parse_options (cmdline_ptr );
220
+ if (status != EFI_SUCCESS ) {
221
+ efi_err ("Failed to parse options\n" );
222
+ goto fail_free_cmdline ;
223
+ }
224
+ }
215
225
216
226
efi_info ("Booting Linux Kernel...\n" );
217
227
@@ -223,7 +233,7 @@ efi_status_t efi_entry(efi_handle_t handle, efi_system_table_t *sys_table_arg)
223
233
dram_base , image );
224
234
if (status != EFI_SUCCESS ) {
225
235
efi_err ("Failed to relocate kernel\n" );
226
- goto fail_free_cmdline ;
236
+ goto fail_free_screeninfo ;
227
237
}
228
238
229
239
efi_retrieve_tpm2_eventlog ();
@@ -326,8 +336,9 @@ efi_status_t efi_entry(efi_handle_t handle, efi_system_table_t *sys_table_arg)
326
336
fail_free_image :
327
337
efi_free (image_size , image_addr );
328
338
efi_free (reserve_size , reserve_addr );
329
- fail_free_cmdline :
339
+ fail_free_screeninfo :
330
340
free_screen_info (si );
341
+ fail_free_cmdline :
331
342
efi_free (cmdline_size , (unsigned long )cmdline_ptr );
332
343
fail :
333
344
return status ;
0 commit comments