From: Ingo Molnar <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Matt Fleming <matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
Cc: Koen Kooi
<koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org>,
Matt Fleming
<matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>,
Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
Ingo Molnar <mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
Kees Cook <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
Zhang Yanfei
<zhangyanfei-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>,
linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: "54b52d87268034859191d671505bb1cfce6bd74d - x86/efi: Build our own EFI services pointer table" breaks boot on thinkpad t440s
Date: Fri, 11 Apr 2014 09:20:44 +0200 [thread overview]
Message-ID: <20140411072044.GA15418@gmail.com> (raw)
In-Reply-To: <20140410121146.GA17021-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
* Matt Fleming <matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org> 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
WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Matt Fleming <matt@console-pimps.org>
Cc: Koen Kooi <koen@dominion.thruhere.net>,
Matt Fleming <matt.fleming@intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
x86@kernel.org, Kees Cook <keescook@chromium.org>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: "54b52d87268034859191d671505bb1cfce6bd74d - x86/efi: Build our own EFI services pointer table" breaks boot on thinkpad t440s
Date: Fri, 11 Apr 2014 09:20:44 +0200 [thread overview]
Message-ID: <20140411072044.GA15418@gmail.com> (raw)
In-Reply-To: <20140410121146.GA17021@console-pimps.org>
* Matt Fleming <matt@console-pimps.org> 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
next prev parent reply other threads:[~2014-04-11 7:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-10 10:43 "54b52d87268034859191d671505bb1cfce6bd74d - x86/efi: Build our own EFI services pointer table" breaks boot on thinkpad t440s Koen Kooi
2014-04-10 10:43 ` Koen Kooi
[not found] ` <AF4406ED-6B0B-4E15-A329-04162E0ADC8A-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org>
2014-04-10 12:11 ` Matt Fleming
2014-04-10 12:11 ` Matt Fleming
[not found] ` <20140410121146.GA17021-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2014-04-10 12:24 ` Koen Kooi
2014-04-10 12:24 ` Koen Kooi
2014-04-11 7:20 ` Ingo Molnar [this message]
2014-04-11 7:20 ` Ingo Molnar
[not found] ` <20140411072044.GA15418-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-04-11 7:44 ` Matt Fleming
2014-04-11 7:44 ` Matt Fleming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140411072044.GA15418@gmail.com \
--to=mingo-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
--cc=keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org \
--cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
--cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=zhangyanfei-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.