From: "Gowans, James" <jgowans@amazon.com>
To: "Graf (AWS), Alexander" <graf@amazon.de>,
"seanjc@google.com" <seanjc@google.com>,
"ebiederm@xmission.com" <ebiederm@xmission.com>,
"Schönherr, Jan H." <jschoenh@amazon.de>
Cc: "yuzenghui@huawei.com" <yuzenghui@huawei.com>,
"kvm-riscv@lists.infradead.org" <kvm-riscv@lists.infradead.org>,
"kexec@lists.infradead.org" <kexec@lists.infradead.org>,
"james.morse@arm.com" <james.morse@arm.com>,
"oliver.upton@linux.dev" <oliver.upton@linux.dev>,
"suzuki.poulose@arm.com" <suzuki.poulose@arm.com>,
"chenhuacai@kernel.org" <chenhuacai@kernel.org>,
"atishp@atishpatra.org" <atishp@atishpatra.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"maz@kernel.org" <maz@kernel.org>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"kvmarm@lists.linux.dev" <kvmarm@lists.linux.dev>,
"anup@brainfault.org" <anup@brainfault.org>,
"aleksandar.qemu.devel@gmail.com"
<aleksandar.qemu.devel@gmail.com>
Subject: Re: [PATCH v2 1/2] KVM: Use syscore_ops instead of reboot_notifier to hook restart/shutdown
Date: Mon, 11 Dec 2023 10:27:15 +0000 [thread overview]
Message-ID: <7e30cfc2359dfef39d038e3734f7e5e3d9e82d68.camel@amazon.com> (raw)
In-Reply-To: <a02b40d3d9ae5b3037b9a9d5921cfb0144ab5610.camel@amazon.com>
On Mon, 2023-12-11 at 09:54 +0200, James Gowans wrote:
> >
> > What problem are you running into with your rebase that worked with
> > reboot notifiers that is not working with syscore_shutdown?
>
> Prior to this commit [1] which changed KVM from reboot notifiers to
> syscore_ops, KVM's reboot notifier shutdown callback was invoked on
> kexec via kernel_restart_prepare.
>
> After this commit, KVM is not being shut down because currently the
> kexec flow does not call syscore_shutdown.
I think I missed what you're asking here; you're asking for a reproducer
for the specific failure?
1. Launch a QEMU VM with -enable-kvm flag
2. Do an immediate (-f flag) kexec:
kexec -f --reuse-cmdline ./bzImage
Somewhere after doing the RET to new kernel in the relocate_kernel asm
function the new kernel starts triple faulting; I can't exactly figure
out where but I think it has to do with the new kernel trying to modify
CR3 while the VMXE bit is still set in CR4 causing the triple fault.
If KVM has been shut down via the shutdown callback, or alternatively if
the QEMU process has actually been killed first (by not doing a -f exec)
then the VMXE bit is clear and the kexec goes smoothly.
So, TL;DR: kexec -f use to work with a KVM VM active, now it goes into a
triple fault crash.
JG
next prev parent reply other threads:[~2023-12-11 10:27 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-12 23:31 [PATCH v2 0/2] KVM: Fix race between reboot and hardware enabling Sean Christopherson
2023-05-12 23:31 ` [PATCH v2 1/2] KVM: Use syscore_ops instead of reboot_notifier to hook restart/shutdown Sean Christopherson
2023-12-09 7:26 ` Gowans, James
2023-12-10 4:53 ` Eric W. Biederman
2023-12-11 7:54 ` Gowans, James
2023-12-11 10:27 ` Gowans, James [this message]
2023-12-11 23:50 ` Eric W. Biederman
2023-12-12 8:50 ` Gowans, James
2023-12-12 13:38 ` Paolo Bonzini
2023-12-13 6:47 ` Gowans, James
2023-12-11 17:34 ` Sean Christopherson
2023-12-11 17:51 ` Sean Christopherson
2023-12-11 18:47 ` Gowans, James
2023-05-12 23:31 ` [PATCH v2 2/2] KVM: Don't enable hardware after a restart/shutdown is initiated Sean Christopherson
2023-05-18 7:38 ` [PATCH v2 0/2] KVM: Fix race between reboot and hardware enabling Marc Zyngier
2023-05-19 17:41 ` Paolo Bonzini
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=7e30cfc2359dfef39d038e3734f7e5e3d9e82d68.camel@amazon.com \
--to=jgowans@amazon.com \
--cc=aleksandar.qemu.devel@gmail.com \
--cc=anup@brainfault.org \
--cc=atishp@atishpatra.org \
--cc=chenhuacai@kernel.org \
--cc=ebiederm@xmission.com \
--cc=graf@amazon.de \
--cc=james.morse@arm.com \
--cc=jschoenh@amazon.de \
--cc=kexec@lists.infradead.org \
--cc=kvm-riscv@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=oliver.upton@linux.dev \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=suzuki.poulose@arm.com \
--cc=yuzenghui@huawei.com \
/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