From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
To: Dmitry Malkin <d.malkin@real-time-systems.com>
Cc: linux-x86_64@vger.kernel.org, linux-kernel@vger.kernel.org,
Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org
Subject: Re: 4.17.x won't boot due to "x86/boot/compressed/64: Handle 5-level paging boot if kernel is above 4G"
Date: Thu, 26 Jul 2018 17:50:08 +0300 [thread overview]
Message-ID: <20180726145008.ccmeklqx4ofb4456@black.fi.intel.com> (raw)
In-Reply-To: <a3e428be-0875-3b64-7680-252cd61b52c9@real-time-systems.com>
On Thu, Jul 26, 2018 at 08:10:42AM +0000, Dmitry Malkin wrote:
>
>
> On 07/25/2018 11:21 PM, Kirill A. Shutemov wrote:
> > On Wed, Jul 25, 2018 at 05:26:02PM +0000, Dmitry Malkin wrote:
> > > there may be some other reasons which may cause undefined behavior (reboot
> > > for example):
> > >
> > > in arch/x86/boot/compressed/pgtable_64.c in function paging_prepare():
> > >
> > > 1. structure "paging_config" allocated on stack without setting default
> > > value for flag "l5_required":
> > > > > struct paging_config paging_config = {};
> > > l5_required is set only if CONFIG_X86_5LEVEL is defined
> > Hm? C99 initializer zeros the structure.
> https://elixir.bootlin.com/linux/latest/source/Makefile#L366
> Here I only see std=gnu89.
gnu89 support C99-style initializers. The syntax above would clear fields
that not initialized explicitly, in this case all of them.
> > > 2. reading from memory which may be reserved in case of EFI systems:
> > > > > ebda_start = *(unsigned short *)0x40e << 4;
> > > > > bios_start = *(unsigned short *)0x413 << 10;
> > > Also, on EFI system without CSM it will results in all zeros. Which will
> > > place trampoline_start to 0x9d000. And it also may be reserved memory. In
> > > fact I have such system and it is causes instant reboot (when code starts
> > > copying to "trampoline_start").
> > Could you show dmesg from such system?
> Sure, here it is (please note than not both pages are reserved but only
> second one: 0x9e000-0x9ffff):
Well. That's bad.
I don't see much options but parse e820 in decompression code. I hoped to
avoid this.
Let me see what I can do there.
--
Kirill A. Shutemov
next prev parent reply other threads:[~2018-07-26 14:50 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-25 17:26 Dmitry Malkin
2018-07-25 21:21 ` Kirill A. Shutemov
2018-07-26 8:10 ` Dmitry Malkin
2018-07-26 14:50 ` Kirill A. Shutemov [this message]
2018-07-26 16:21 ` Dmitry Malkin
2018-07-27 13:46 ` Kirill A. Shutemov
[not found] <CAF=P+=5c-baQp-CK1ViG8h=mMRv6d3EgEsN_U4rbBx-Pwv_Krw@mail.gmail.com>
2018-07-01 21:32 ` Benjamin Gilbert
2018-07-02 9:34 ` Kirill A. Shutemov
2018-07-02 19:01 ` Benjamin Gilbert
2018-07-03 8:30 ` Kirill A. Shutemov
2018-07-03 8:59 ` Thomas Gleixner
2018-07-03 11:01 ` Kirill A. Shutemov
2018-07-03 11:24 ` Gabriel C
2018-07-03 12:44 ` Kirill A. Shutemov
2018-07-03 14:02 ` Thomas Gleixner
2018-07-03 14:07 ` Bernhard Rosenkraenzer
2018-07-03 14:19 ` Thomas Gleixner
2018-07-03 14:21 ` Kirill A. Shutemov
2018-07-03 14:27 ` Thomas Gleixner
2018-07-03 18:03 ` Andi Kleen
2018-07-03 20:26 ` Kirill A. Shutemov
2018-07-03 21:00 ` Andi Kleen
2018-07-04 3:10 ` Benjamin Gilbert
2018-07-04 13:21 ` Kirill A. Shutemov
2018-07-04 15:08 ` Kirill A. Shutemov
2018-07-04 20:42 ` Benjamin Gilbert
2018-07-06 6:37 ` Masahiro Yamada
2018-07-06 10:41 ` Kirill A. Shutemov
2018-07-06 14:13 ` Masahiro Yamada
2018-07-06 14:39 ` Gabriel C
2018-07-06 16:33 ` Kirill A. Shutemov
2018-07-06 17:31 ` Gabriel C
2018-07-07 0:55 ` Masahiro Yamada
2018-07-06 16:29 ` Kirill A. Shutemov
2018-07-06 18:11 ` Andi Kleen
2018-07-06 19:34 ` Benjamin Gilbert
2018-07-07 1:21 ` Masahiro Yamada
2018-07-09 10:10 ` Kirill A. Shutemov
2018-07-09 10:37 ` Masahiro Yamada
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=20180726145008.ccmeklqx4ofb4456@black.fi.intel.com \
--to=kirill.shutemov@linux.intel.com \
--cc=d.malkin@real-time-systems.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-x86_64@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®