[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Ping: [PATCH 3/3] x86/EFI: don't accept 64-bit base relocations on page tables
>>> On 19.08.16 at 09:52, <JBeulich@xxxxxxxx> wrote: > Page tables get pre-populated with physical addresses which, due to > living inside the Xen image, will never exceed 32 bits in width. That > in turn results in the tool generating the relocations to produce > 32-bit relocations for them instead of the 64-bit ones needed for > relocating virtual addresses. Hence instead of special casing page > tables in the processing of 64-bit relocations, let's be more rigid > and refuse them (as being indicative of something else having gone > wrong in the build process). > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Ping? > --- a/xen/arch/x86/efi/efi-boot.h > +++ b/xen/arch/x86/efi/efi-boot.h > @@ -81,12 +81,9 @@ static void __init efi_arch_relocate_ima > } > break; > case PE_BASE_RELOC_DIR64: > - if ( delta ) > - { > - *(u64 *)addr += delta; > - if ( in_page_tables(addr) ) > - *(intpte_t *)addr += xen_phys_start; > - } > + if ( in_page_tables(addr) ) > + blexit(L"Unexpected relocation type"); > + *(u64 *)addr += delta; > break; > default: > blexit(L"Unsupported relocation type"); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |