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