Hi,

st 26. 2. 2025 v 23:36 odesílatel Jonathan Humphreys
<j-humphr...@ti.com> napsal:
>
> For capsule update, explicitly set the dfu_alt_info environment variable
> before the DFU operation, and then restore it to the original value.
> Previously, the dfu_alt_info environment variable was set with the
> set_dfu_alt_info() function.
>
> The problem with setting the capsule update's dfu_alt_info setting in
> set_dfu_alt_info() is that set_dfu_alt_info() lacks the context of what DFU
> operation is being performed (eg, capsule update, DFU boot, listing the
> alt_info, etc) so the capsule update setting was overwriting the setting
> for other DFU operations.
>
> Changes from v1:
> - use log_err() instead of pr_err()
> - create a local copy of the original dfu_alt_info environment variable to
>   be used to later restore it, rather than just a pointer to the stored
>   value, because changing its value to the EFI capsule update setting will
>   cause the original string location to be freed.
> - even in the case of a DFU operation error, restore the dfu_alt_info
>   environment variable to its original value.
> - return EFI_EXIT based error codes if setting environment variables fails
> Link to v1: 
> https://lore.kernel.org/r/20250203215351.2840144-1-j-humphr...@ti.com
>
> Changes from v2:
> - add patch for xilinx boards to set the dfu_string member with the created
>   dfu_alt_info string for capsule updates
> Link to v2: 
> https://lore.kernel.org/r/20250206154719.3032322-1-j-humphr...@ti.com
>
> Changes from v3:
> - in case that the dfu_alt_info env variable is set and we save a copy
>   using strdup(), check that strdup() doesn't fail
> - separate the reporting of an error due to the DFU operation from failure
>   to restore the dfu_alt_info environment variable. In the latter case,
>   just emit a warning and return success for the DFU operation.
> Link to v3: 
> https://lore.kernel.org/r/20250213195351.3518305-1-j-humphr...@ti.com
>
> Tested-by: Michal Simek <michal.si...@amd.com>
>
> Jonathan Humphreys (2):
>   efi_firmware: set EFI capsule dfu_alt_info env explicitly
>   board: remove capsule update support in set_dfu_alt_info()
>
> Michal Simek (1):
>   xilinx: dfu: Fill directly update_info.dfu_string
>
>  board/beagle/beagleboneai64/beagleboneai64.c  |  8 ---
>  board/beagle/beagleplay/beagleplay.c          |  8 ---
>  .../aml-a311d-cc/aml-a311d-cc.c               |  2 -
>  .../aml-s805x-ac/aml-s805x-ac.c               |  2 -
>  .../aml-s905d3-cc/aml-s905d3-cc.c             |  2 -
>  board/phytec/common/k3/board.c                |  8 ---
>  board/ti/am62px/evm.c                         |  8 ---
>  board/ti/am62x/evm.c                          |  8 ---
>  board/ti/am64x/evm.c                          |  8 ---
>  board/ti/j721e/evm.c                          |  8 ---
>  board/ti/j784s4/evm.c                         |  8 ---
>  board/xilinx/common/board.h                   |  3 +
>  board/xilinx/versal/board.c                   | 16 +++---
>  board/xilinx/zynq/board.c                     | 16 +++---
>  board/xilinx/zynqmp/zynqmp.c                  | 16 +++---
>  lib/efi_loader/Kconfig                        |  2 -
>  lib/efi_loader/efi_firmware.c                 | 56 ++++++++++++++++---
>  17 files changed, 72 insertions(+), 107 deletions(-)
>
> --
> 2.34.1
>

Is anybody going to take this series?

Thanks,
Michal

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs

Reply via email to