[tip: efi/urgent] efi/libstub: Handle NULL cmdline

From: tip-bot2 for Arvind Sankar
Date: Sat Aug 22 2020 - 09:39:39 EST


The following commit has been merged into the efi/urgent branch of tip:

Commit-ID: a37ca6a2af9df2972372b918f09390c9303acfbd
Gitweb: https://git.kernel.org/tip/a37ca6a2af9df2972372b918f09390c9303acfbd
Author: Arvind Sankar <nivedita@xxxxxxxxxxxx>
AuthorDate: Wed, 29 Jul 2020 15:33:00 -04:00
Committer: Ard Biesheuvel <ardb@xxxxxxxxxx>
CommitterDate: Thu, 20 Aug 2020 11:18:55 +02:00

efi/libstub: Handle NULL cmdline

Treat a NULL cmdline the same as empty. Although this is unlikely to
happen in practice, the x86 kernel entry does check for NULL cmdline and
handles it, so do it here as well.

Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20200729193300.598448-1-nivedita@xxxxxxxxxxxx
Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
---
drivers/firmware/efi/libstub/efi-stub-helper.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/efi/libstub/efi-stub-helper.c b/drivers/firmware/efi/libstub/efi-stub-helper.c
index 37ff34e..f53652a 100644
--- a/drivers/firmware/efi/libstub/efi-stub-helper.c
+++ b/drivers/firmware/efi/libstub/efi-stub-helper.c
@@ -187,10 +187,14 @@ int efi_printk(const char *fmt, ...)
*/
efi_status_t efi_parse_options(char const *cmdline)
{
- size_t len = strlen(cmdline) + 1;
+ size_t len;
efi_status_t status;
char *str, *buf;

+ if (!cmdline)
+ return EFI_SUCCESS;
+
+ len = strlen(cmdline) + 1;
status = efi_bs_call(allocate_pool, EFI_LOADER_DATA, len, (void **)&buf);
if (status != EFI_SUCCESS)
return status;