All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Laight <david.laight.linux@gmail.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Sean Christopherson <seanjc@google.com>,
	Paul Durrant <paul@xen.org>, Hyunwoo Kim <imv4bel@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/8] KVM: x86/xen: Introduce kvm_xen_has_64bit_shinfo() macro
Date: Sat, 6 Jun 2026 12:11:52 +0100	[thread overview]
Message-ID: <20260606121152.5ab6bf09@pumpkin> (raw)
In-Reply-To: <63c77cb3e7fb8b9b1ee0baa006760d494f16ce54.camel@infradead.org>

On Sat, 06 Jun 2026 10:35:45 +0100
David Woodhouse <dwmw2@infradead.org> wrote:

> On Sat, 2026-06-06 at 10:30 +0100, David Laight wrote:
> > On Fri,  5 Jun 2026 15:17:27 +0100
> > David Woodhouse <dwmw2@infradead.org> wrote:
> >   
> > > From: David Woodhouse <dwmw@amazon.co.uk>
> > > 
> > > Add a kvm_xen_has_64bit_shinfo() helper macro to replace the repeated
> > > pattern of 'IS_ENABLED(CONFIG_64BIT) && kvm->arch.xen.long_mode'
> > > throughout the Xen emulation code. The macro uses READ_ONCE() to
> > > ensure a consistent snapshot of the flag, which can be changed by
> > > another vCPU at any time.  
> > 
> > If another vCPU changes the flag then isn't it all broken?
> > The code seems to need the value to be stable.  
> 
> Do you believe the explanation in patch 4 to be insufficient?

(I read patch 2 first...)
Changing the same lines twice is s bit excessive.

There is this bit in #4:

 Even with this fix, the same corruption can occur if 64-bit mode is
 latched and the guest switches to 32-bit mode immediately afterward.

which, I think, means it is all hopeless really.

If the structure layout doesn't depend on 32/64 bit then why check
(or compile-time check).

But if the layout differs and the the mode can change dynamically
then you need some kind of locking (or similar).

-- David

  reply	other threads:[~2026-06-06 11:11 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-05 14:17 [PATCH 0/8] KVM: x86/xen: Clean up 32-bit vs. 64-bit shared info mode handling David Woodhouse
2026-06-05 14:17 ` [PATCH 1/8] KVM: x86/xen: Rename 'longmode' to 'is_64bit' in hypercall handling David Woodhouse
2026-06-05 14:17 ` [PATCH 2/8] KVM: x86/xen: Introduce kvm_xen_has_64bit_shinfo() macro David Woodhouse
2026-06-06  9:30   ` David Laight
2026-06-06  9:35     ` David Woodhouse
2026-06-06 11:11       ` David Laight [this message]
2026-06-06 11:22         ` David Woodhouse
2026-06-05 14:17 ` [PATCH 3/8] KVM: x86/xen: Rename max_evtchn_port() to kvm_max_evtchn_port() David Woodhouse
2026-06-05 14:17 ` [PATCH 4/8] KVM: x86/xen: Latch shinfo mode in kvm_xen_set_evtchn_fast() David Woodhouse
2026-06-05 14:17 ` [PATCH 5/8] KVM: x86/xen: Latch shinfo mode in kvm_xen_schedop_poll() David Woodhouse
2026-06-05 14:17 ` [PATCH 6/8] KVM: x86/xen: Enforce alignment of vcpu_info registration David Woodhouse
2026-06-05 14:44   ` sashiko-bot
2026-06-05 15:07     ` David Woodhouse
2026-06-05 14:17 ` [PATCH 7/8] KVM: x86/xen: Use 32-bit locked bts for vcpu_info evtchn_pending_sel David Woodhouse
2026-07-08 15:48   ` Sean Christopherson
2026-06-05 14:17 ` [PATCH 8/8] KVM: x86/xen: Use 32-bit locked ops in kvm_xen_inject_pending_events() David Woodhouse
2026-07-08 15:23   ` Sean Christopherson
2026-07-08 15:41     ` David Woodhouse

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=20260606121152.5ab6bf09@pumpkin \
    --to=david.laight.linux@gmail.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=dwmw2@infradead.org \
    --cc=hpa@zytor.com \
    --cc=imv4bel@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=paul@xen.org \
    --cc=pbonzini@redhat.com \
    --cc=seanjc@google.com \
    --cc=tglx@kernel.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.