linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: kvmarm@lists.linux.dev, kvm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Cc: James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Oliver Upton <oliver.upton@linux.dev>,
	Zenghui Yu <yuzenghui@huawei.com>, Will Deacon <will@kernel.org>,
	vdonnefort@google.com
Subject: [PATCH 0/5] KVM: arm64: vgic fixes for 6.7
Date: Thu,  7 Dec 2023 15:11:56 +0000	[thread overview]
Message-ID: <20231207151201.3028710-1-maz@kernel.org> (raw)

It appears that under some cirumstances, the lifetime of a vcpu
doesn't correctly align with that of the structure describing the
redistributor associated with that vcpu. That's not great.

Fixing it is, unfortunately, not as trivial as it appears as the
required locking gets in the way.

The first two patches in this series amend that locking so that the
third patch, which is the actual fix, becomes almost trivial. The last
two patches are more cosmetic and only add assertions that helped me
debugging the whole thing.

I've earmarked the first 3 patches as stable candidates, and would
love to see them in 6.7. Patches on top of -rc4.

Marc Zyngier (5):
  KVM: arm64: vgic: Simplify kvm_vgic_destroy()
  KVM: arm64: vgic: Add a non-locking primitive for
    kvm_vgic_vcpu_destroy()
  KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy
  KVM: arm64: vgic: Ensure that slots_lock is held in
    vgic_register_all_redist_iodevs()
  KVM: Convert comment into an assertion in kvm_io_bus_register_dev()

 arch/arm64/kvm/arm.c               |  2 +-
 arch/arm64/kvm/vgic/vgic-init.c    | 47 ++++++++++++++++++------------
 arch/arm64/kvm/vgic/vgic-mmio-v3.c |  4 ++-
 arch/arm64/kvm/vgic/vgic.h         |  1 +
 virt/kvm/kvm_main.c                |  3 +-
 5 files changed, 36 insertions(+), 21 deletions(-)

-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2023-12-07 15:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-07 15:11 Marc Zyngier [this message]
2023-12-07 15:11 ` [PATCH 1/5] KVM: arm64: vgic: Simplify kvm_vgic_destroy() Marc Zyngier
2023-12-07 15:11 ` [PATCH 2/5] KVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy() Marc Zyngier
2023-12-07 15:11 ` [PATCH 3/5] KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy Marc Zyngier
2023-12-07 15:12 ` [PATCH 4/5] KVM: arm64: vgic: Ensure that slots_lock is held in vgic_register_all_redist_iodevs() Marc Zyngier
2023-12-07 15:12 ` [PATCH 5/5] KVM: Convert comment into an assertion in kvm_io_bus_register_dev() Marc Zyngier
2023-12-12  7:45 ` [PATCH 0/5] KVM: arm64: vgic fixes for 6.7 Oliver Upton

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=20231207151201.3028710-1-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=james.morse@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=oliver.upton@linux.dev \
    --cc=suzuki.poulose@arm.com \
    --cc=vdonnefort@google.com \
    --cc=will@kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).