Message ID | 825ded00-3971-4e56-7bef-324ee5531f70@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | EFI: adjustments after "Unified Xen hypervisor/kernel/initrd images" | expand |
On 14/10/2020 11:42, Jan Beulich wrote: > read_section() needs to be more careful: efi_arch_use_config_file() > may have found a DTB file (but without modules), and there may be no DTB > specified in the EFI config file. In this case the pointer to the blob > must not be overwritten with NULL when no ".dtb" section is present > either. > > Fixes: 8a71d50ed40b ("efi: Enable booting unified hypervisor/kernel/initrd images") > Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
--- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -637,11 +637,14 @@ static bool __init read_section(const EF const CHAR16 *name, struct file *file, const char *options) { - file->ptr = pe_find_section(image->ImageBase, image->ImageSize, - name, &file->size); - if ( !file->ptr ) + const void *ptr = pe_find_section(image->ImageBase, image->ImageSize, + name, &file->size); + + if ( !ptr ) return false; + file->ptr = ptr; + handle_file_info(name, file, options); return true;
read_section() needs to be more careful: efi_arch_use_config_file() may have found a DTB file (but without modules), and there may be no DTB specified in the EFI config file. In this case the pointer to the blob must not be overwritten with NULL when no ".dtb" section is present either. Fixes: 8a71d50ed40b ("efi: Enable booting unified hypervisor/kernel/initrd images") Signed-off-by: Jan Beulich <jbeulich@suse.com>