From: Baoquan He <bhe@redhat.com>
To: Dave Young <dyoung@redhat.com>
Cc: linux-kernel@vger.kernel.org, tglx@linutronix.de,
mingo@kernel.org, bp@alien8.de, hpa@zytor.com,
kirill.shutemov@linux.intel.com, x86@kernel.org
Subject: Re: [PATCH v4 2/3] x86/kexec/64: Error out if try to jump to old 4-level kernel from 5-level kernel
Date: Wed, 22 May 2019 12:50:33 +0800 [thread overview]
Message-ID: <20190522045033.GC3805@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20190522032029.GB31269@dhcp-128-65.nay.redhat.com>
On 05/22/19 at 11:20am, Dave Young wrote:
> How about the userspace kexec-tools? It needs a similar detection, but
> I'm not sure how to detect paging mode, maybe some sysfs entry or
> vmcoreinfo in /proc/vmcore
In usersapce, I plan to parse /proc/kcore to get the starting address
of page_offset or vmalloc. You can see the different level has different
value range.
4-level:
ffff888000000000 | -119.5 TB | ffffc87fffffffff | 64 TB | direct mapping of all physical memory (page_offset_base)
ffffc88000000000 | -55.5 TB | ffffc8ffffffffff | 0.5 TB | ... unused hole
ffffc90000000000 | -55 TB | ffffe8ffffffffff | 32 TB | vmalloc/ioremap space (vmalloc_base)
ffffe90000000000 | -23 TB | ffffe9ffffffffff | 1 TB | ... unused hole
ffffea0000000000 | -22 TB | ffffeaffffffffff | 1 TB | virtual memory map (vmemmap_base)
5-level:
ff11000000000000 | -59.75 PB | ff90ffffffffffff | 32 PB | direct mapping of all physical memory (page_offset_base)
ff91000000000000 | -27.75 PB | ff9fffffffffffff | 3.75 PB | ... unused hole
ffa0000000000000 | -24 PB | ffd1ffffffffffff | 12.5 PB | vmalloc/ioremap space (vmalloc_base)
ffd2000000000000 | -11.5 PB | ffd3ffffffffffff | 0.5 PB | ... unused hole
ffd4000000000000 | -11 PB | ffd5ffffffffffff | 0.5 PB | virtual memory map (vmemmap_base)
>
>
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
> > index 22f60dd26460..858cc892672f 100644
> > --- a/arch/x86/kernel/kexec-bzimage64.c
> > +++ b/arch/x86/kernel/kexec-bzimage64.c
> > @@ -321,6 +321,11 @@ static int bzImage64_probe(const char *buf, unsigned long len)
> > return ret;
> > }
> >
> > + if (!(header->xloadflags & XLF_5LEVEL) && pgtable_l5_enabled()) {
> > + pr_err("Can not jump to old 4-level kernel from 5-level kernel.\n");
>
> 4-level kernel sounds not very clear, maybe something like below?
>
> "5-level paging enabled, can not kexec into an old kernel without 5-level
> paging facility"?
Oops, tglx commented on this message. He suggested changing it like:
"bzImage cannot handle 5-level paging mode\n"
I forgot updating this part. Any one is fine to me. Will update.
Thanks
Baoquan
next prev parent reply other threads:[~2019-05-22 4:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-09 1:36 [PATCH v4 0/3] Add restrictions for kexec/kdump jumping between 5-level and 4-level kernel Baoquan He
2019-05-09 1:36 ` [PATCH v4 1/3] x86/boot: Add xloadflags bits for 5-level kernel checking Baoquan He
2019-05-09 1:36 ` [PATCH v4 2/3] x86/kexec/64: Error out if try to jump to old 4-level kernel from 5-level kernel Baoquan He
2019-05-09 7:01 ` Baoquan He
2019-05-09 7:02 ` [PATCH v5 " Baoquan He
2019-05-22 3:20 ` [PATCH v4 " Dave Young
2019-05-22 3:24 ` Dave Young
2019-05-22 4:50 ` Baoquan He [this message]
2019-05-09 1:36 ` [PATCH v4 3/3] x86/kdump/64: Change the upper limit of crashkernel reservation Baoquan He
2019-05-22 3:11 ` Dave Young
2019-05-22 3:15 ` Baoquan He
2019-05-23 3:15 ` Baoquan He
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=20190522045033.GC3805@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=bp@alien8.de \
--cc=dyoung@redhat.com \
--cc=hpa@zytor.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@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;
as well as URLs for NNTP newsgroup(s).