From: "H. Peter Anvin" <hpa@zytor.com>
To: Borislav Petkov <borislav.petkov@amd.com>
Cc: Hugh Dickins <hughd@google.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
"Roedel, Joerg" <Joerg.Roedel@amd.com>,
"x86@kernel.org" <x86@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86: fix CONFIG_VMSPLIT_1G and 2G_OPT trampoline
Date: Wed, 25 Aug 2010 00:06:34 -0700 [thread overview]
Message-ID: <4C74C0FA.3010304@zytor.com> (raw)
In-Reply-To: <20100825063041.GA25259@aftab>
On 08/24/2010 11:30 PM, Borislav Petkov wrote:
> From: Hugh Dickins <hughd@google.com>
> Date: Wed, Aug 25, 2010 at 01:44:12AM -0400
>
>> rc2 kernel crashes when booting second cpu on this CONFIG_VMSPLIT_2G_OPT
>> laptop: whereas cloning from kernel to low mappings pgd range does need
>> to limit by both KERNEL_PGD_PTRS and KERNEL_PGD_BOUNDARY, cloning kernel
>> pgd range itself must not be limited by the smaller KERNEL_PGD_BOUNDARY.
>
> Yep, makes sense.
>
> In looking around for other swapper_pg_dir manipulations, there's this
> piece in <arch/x86/kernel/reboot.c:machine_real_restart()>:
>
> /* Remap the kernel at virtual address zero, as well as offset zero
> from the kernel segment. This assumes the kernel segment starts at
> virtual address PAGE_OFFSET. */
> memcpy(swapper_pg_dir, swapper_pg_dir + KERNEL_PGD_BOUNDARY,
> sizeof(swapper_pg_dir [0]) * KERNEL_PGD_PTRS);
>
> and we're cloning to low mappings here but still take KERNEL_PGD_PTRS.
>
> In the CONFIG_VMSPLIT_2G_OPT case, KERNEL_PGD_BOUNDARY and
> KERNEL_PGD_PTRS are 480 and 544, respectively, and IINM, and we end up
> overwriting the virtual mappings beginning at PAGE_OFFSET.
>
> I guess this doesn't matter on reboot or am I missing something else?
>
It doesn't matter on reboot, but the right thing would be to switch to
the trampoline page table here. Same with suspend.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
next prev parent reply other threads:[~2010-08-25 7:06 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-25 5:44 [PATCH] x86: fix CONFIG_VMSPLIT_1G and 2G_OPT trampoline Hugh Dickins
2010-08-25 6:30 ` Borislav Petkov
2010-08-25 7:06 ` H. Peter Anvin [this message]
2010-08-25 7:13 ` Borislav Petkov
2010-08-25 7:13 ` [tip:x86/urgent] x86, mm: Fix " tip-bot for Hugh Dickins
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=4C74C0FA.3010304@zytor.com \
--to=hpa@zytor.com \
--cc=Joerg.Roedel@amd.com \
--cc=akpm@linux-foundation.org \
--cc=borislav.petkov@amd.com \
--cc=hughd@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--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 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.