[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 3/3] arm/efi: load dom0 modules from DT using UEFI
On 28.09.2021 18:32, Luca Fancellu wrote: > --- a/xen/common/efi/boot.c > +++ b/xen/common/efi/boot.c > @@ -1296,11 +1296,6 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE > *SystemTable) > { > read_file(dir_handle, s2w(&name), &kernel, option_str); > efi_bs->FreePool(name.w); > - > - if ( !EFI_ERROR(efi_bs->LocateProtocol(&shim_lock_guid, NULL, > - (void **)&shim_lock)) && > - (status = shim_lock->Verify(kernel.ptr, kernel.size)) != > EFI_SUCCESS ) > - PrintErrMesg(L"Dom0 kernel image could not be verified", > status); > } > > if ( !read_section(loaded_image, L"ramdisk", &ramdisk, NULL) ) > @@ -1372,6 +1367,13 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE > *SystemTable) > if (dt_module_found < 0) > /* efi_arch_check_dt_boot throws some error */ > blexit(L"Error processing boot modules on DT."); > + > + /* If Dom0 is specified, verify it */ > + if ( kernel.ptr && > + !EFI_ERROR(efi_bs->LocateProtocol(&shim_lock_guid, NULL, > + (void **)&shim_lock)) && > + (status = shim_lock->Verify(kernel.ptr, kernel.size)) != EFI_SUCCESS > ) > + PrintErrMesg(L"Dom0 kernel image could not be verified", status); Why does this code need moving in the first place? That's (to me at least) not obvious from looking just at the common (i.e. non-Arm-specific) part. Hence I would wish for the comment to be slightly extended to indicate that the kernel image may also have been loaded by <whichever function>. Also, two nits: You've broken indentation here (you've lost a space too much compared to the original code) and ... > /* > * Check if a proper configuration is provided to start Xen: > * - Dom0 specified (minimum required) > ... you will want to insert a blank line not only before, but also after your insertion (or, imo less desirable, neither of the two blank lines). Further I wonder whether your addition wouldn't better be after the code following this comment. And finally I wonder (looking back at the earlier patch) why you use kernel.addr there when kernel.ptr is being used here. Unless there's a reason for the difference, being consistent would be better. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |