From: Paolo Bonzini <pbonzini@redhat.com>
To: Sean Christopherson <seanjc@google.com>,
Sami Farin <lkml20261027@mifar.in>,
linux-kernel@vger.kernel.org,
Greg Kroah-Hartman <gregkh@kernel.org>,
kvm@vger.kernel.org, kimjw04271234@gmail.com,
stable@vger.kernel.org
Subject: Re: [REGRESSION] KVM: x86: OVMF boot hang with SMM enabled after commit b3e6212dea2e ("KVM: x86: Use active memslots for the per-vCPU MMIO cache")
Date: Wed, 28 Oct 2026 18:48:51 +0100 [thread overview]
Message-ID: <d4214249-5ec0-4600-91be-13632b180425@redhat.com> (raw)
In-Reply-To: <auIy4UZMGxLhBCAn@google.com>
On 10/28/26 18:37, Sean Christopherson wrote:
>> However, address space 0 and address space 1 maintain separate
generation counters
>> starting from 0.
This is also incorrect:
for (i = 0; i < kvm_arch_nr_memslot_as_ids(kvm); i++) {
for (j = 0; j < 2; j++) {
slots = &kvm->__memslots[i][j];
atomic_long_set(&slots->last_used_slot,
(unsigned long)NULL);
slots->hva_tree = RB_ROOT_CACHED;
slots->gfn_tree = RB_ROOT;
hash_init(slots->id_hash);
slots->node_idx = j;
/* Generations must be different for each
address space. */
slots->generation = i;
}
>> An MMIO access cached in SMM (e.g., GFN 0xFED40000 with gen = 4) matches in normal mode where gen is also 4.
> Hmm, this isn't adding up for me. It should be impossible for the generation to
> be '4' for SMM, because SMM is supposed to use odd-numbered generations. From
> kvm_swap_active_memslots():
vcpu_cache_mmio_info() does not use the address space id:
u64 gen = kvm_memslots(vcpu->kvm)->generation;
Will send a patch soon.
Paolo
next prev parent reply other threads:[~2026-10-28 17:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2026102314-CVE-2026-99082-e5b1@gregkh>
2026-10-27 12:41 ` Sami Farin
2026-10-28 17:37 ` Sean Christopherson
2026-10-28 17:48 ` Paolo Bonzini [this message]
2026-10-28 17:58 ` Paolo Bonzini
2026-10-28 18:01 ` Sean Christopherson
2026-10-28 18:42 ` 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=d4214249-5ec0-4600-91be-13632b180425@redhat.com \
--to=pbonzini@redhat.com \
--cc=gregkh@kernel.org \
--cc=kimjw04271234@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml20261027@mifar.in \
--cc=seanjc@google.com \
--cc=stable@vger.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®