* Matt Fleming <matt@xxxxxxxxxxxxxxxxx> wrote: > On Thu, 10 Apr, at 12:43:43PM, Koen Kooi wrote: > > Hi, > > > > After updating from 3.14-rc7 to a recent git the kernel fails to boot on my thinkpad t440s and displays: > > > > Failed to get file info size > > Failed to alloc highmem for files > > > > After a morning of running git bisect and rebooting, the bad commit seems to be: > > > > 54b52d87268034859191d671505bb1cfce6bd74d - x86/efi: Build our own EFI services pointer table > > Thanks for the report. Can you try this patch against Linus' tree? > > > diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c > index 1e6146137f8e..280165524ee4 100644 > --- a/arch/x86/boot/compressed/eboot.c > +++ b/arch/x86/boot/compressed/eboot.c > @@ -112,7 +112,7 @@ __file_size64(void *__fh, efi_char16_t *filename_16, > efi_file_info_t *info; > efi_status_t status; > efi_guid_t info_guid = EFI_FILE_INFO_ID; > - u32 info_sz; > + u64 info_sz; Might be prudent to do the same in __file_size32(), instead of truncating silently, especially is that function too has a u64 output AFAICS. Also, while reviewing the file I noticed that there's "u32 fb_base", which is recovered like: status = __gop_query64(gop64, &info, &size, &fb_base); but ->frame_buffer_base is u64. Is it always guaranteed u32? Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html