On Fri, 2 Oct 2026 20:31:43 -0300 Jason Gunthorpe <[email protected]> wrote:
> The two decompressors duplicate this call and the next patch needs to > change the argument. Hoist it up to remove the duplication. > > Signed-off-by: Jason Gunthorpe <[email protected]> Some mutterings below, but I couldn't come up with a better code style, so Reviewed-by: Jonathan Cameron <[email protected]> > diff --git a/drivers/firmware/efi/libstub/zboot.c > b/drivers/firmware/efi/libstub/zboot.c > index 4b76f74c56dae0..e3abaa05fc4183 100644 > --- a/drivers/firmware/efi/libstub/zboot.c > +++ b/drivers/firmware/efi/libstub/zboot.c > @@ -92,9 +92,11 @@ efi_zboot_entry(efi_handle_t handle, efi_system_table_t > *systab) > } > > // Decompress the payload into the newly allocated buffer > - status = efi_zboot_decompress((void *)image_base, alloc_size) ?: > - efi_stub_common(handle, image, image_base, cmdline_ptr); > - > + status = efi_zboot_decompress((void *)image_base, alloc_size); > + if (status == EFI_SUCCESS) { > + efi_cache_sync_image(image_base, alloc_size); > + status = efi_stub_common(handle, image, image_base, > cmdline_ptr); A little ugly though less so than original code with that implicit assumption of EFI_SUCCCESS == 0 that is avoided in most the rest of this code. __free magic would be complex given the need to provide the size and hence we are down to a helper. Ok. Maybe just not worth the effort given how small the code is. > + } > efi_free(alloc_size, image_base); > return status; > }
