From c5fd2c7ac7fa4835339ea09ead2884794314c9d8 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Thu, 3 Apr 2025 18:03:21 +0200 Subject: [PATCH] board: libre-computer: check interface before comparing it in set_dfu_alt_info() When set_dfu_alt_info() is called, interface can be NULL when called for the EFI capsule, so check it before calling it with strcmp(). Fixes: 12ea40d29dc ("ARM: meson: add support for Libre Computer aml-s905d3-cc") Fixes: 9e6e6b034b1 ("ARM: meson: add support for Libre Computer aml-a311d-cc") Fixes: 75c87c6cbc0 ("board: libre-computer: aml-s805x-cc: Enable capsule updates") Reviewed-by: Ilias Apalodimas Link: https://lore.kernel.org/r/20250403-u-boot-fix-set-dfu-alt-info-interface-v1-1-1fdd12463186@linaro.org Signed-off-by: Neil Armstrong --- board/libre-computer/aml-a311d-cc/aml-a311d-cc.c | 2 +- board/libre-computer/aml-s805x-ac/aml-s805x-ac.c | 2 +- board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c b/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c index e45cfd5d8a3..294f78858a7 100644 --- a/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c +++ b/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c @@ -29,7 +29,7 @@ struct efi_capsule_update_info update_info = { #if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) void set_dfu_alt_info(char *interface, char *devstr) { - if (strcmp(interface, "ram") == 0) + if (interface && strcmp(interface, "ram") == 0) env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000"); else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) env_set("dfu_alt_info", update_info.dfu_string); diff --git a/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c b/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c index 94cf5b4361f..1ec9a5b401e 100644 --- a/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c +++ b/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c @@ -36,7 +36,7 @@ struct efi_capsule_update_info update_info = { #if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) void set_dfu_alt_info(char *interface, char *devstr) { - if (strcmp(interface, "ram") == 0) + if (interface && strcmp(interface, "ram") == 0) env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000"); else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) env_set("dfu_alt_info", update_info.dfu_string); diff --git a/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c b/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c index f641db5a494..b552035ee03 100644 --- a/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c +++ b/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c @@ -29,7 +29,7 @@ struct efi_capsule_update_info update_info = { #if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) void set_dfu_alt_info(char *interface, char *devstr) { - if (strcmp(interface, "ram") == 0) + if (interface && strcmp(interface, "ram") == 0) env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000"); else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) env_set("dfu_alt_info", update_info.dfu_string); -- 2.39.5