From: cdall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/3] Fix race condition and simplify vgic active handler
Date: Tue, 16 May 2017 12:04:28 +0200 [thread overview]
Message-ID: <20170516100431.4101-1-cdall@linaro.org> (raw)
This is a small series that reworks a problem in a previously submitted
patch [1]. The previous patch version did not consider that userspace
accesses already hold the KVM mutex and therefore end up in deadlock.
These patches therefore introduces uaccess read/write functions for the
GICv2 MMIO register descriptor framework, splits out the distributor
active register write functionality into separate guest and userspace
access functions, and then finally take the KVM mutex on the guest
access path and gets rid of unneeded complexity from
active_change_prepare/finish.
Applied on top of v4.12-rc1.
[1]: https://lists.cs.columbia.edu/pipermail/kvmarm/2017-May/025542.html
Changes from v1:
- Separate guest and uaccess distributor active register writes.
- Only take the mutex in the guest access path.
Christoffer Dall (3):
KVM: arm/arm64: Allow GICv2 to supply a uaccess register function
KVM: arm/arm64: Separate guest and uaccess writes to dist {sc}active
KVM: arm/arm64: Simplify active_change_prepare and plug race
arch/arm/include/asm/kvm_host.h | 2 --
arch/arm64/include/asm/kvm_host.h | 2 --
virt/kvm/arm/arm.c | 20 +++---------
virt/kvm/arm/vgic/vgic-mmio-v2.c | 24 +++++++-------
virt/kvm/arm/vgic/vgic-mmio-v3.c | 8 +++--
virt/kvm/arm/vgic/vgic-mmio.c | 68 ++++++++++++++++++++++++++++++---------
virt/kvm/arm/vgic/vgic-mmio.h | 12 ++++++-
virt/kvm/arm/vgic/vgic.c | 11 ++++---
8 files changed, 92 insertions(+), 55 deletions(-)
--
2.9.0
next reply other threads:[~2017-05-16 10:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-16 10:04 Christoffer Dall [this message]
2017-05-16 10:04 ` [PATCH v2 1/3] KVM: arm/arm64: Allow GICv2 to supply a uaccess register function Christoffer Dall
2017-05-22 15:21 ` Marc Zyngier
2017-05-16 10:04 ` [PATCH v2 2/3] KVM: arm/arm64: Separate guest and uaccess writes to dist {sc}active Christoffer Dall
2017-05-22 15:24 ` Marc Zyngier
2017-05-16 10:04 ` [PATCH v2 3/3] KVM: arm/arm64: Simplify active_change_prepare and plug race Christoffer Dall
2017-05-22 15:30 ` Marc Zyngier
2017-05-23 8:43 ` Christoffer Dall
2017-05-23 9:05 ` Marc Zyngier
2017-05-23 9:56 ` Christoffer Dall
2017-05-23 10:36 ` Marc Zyngier
2017-06-04 8:15 ` Andrew Jones
2017-06-04 11:57 ` Christoffer Dall
2017-06-04 12:41 ` Andrew Jones
2017-06-04 14:45 ` Christoffer Dall
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=20170516100431.4101-1-cdall@linaro.org \
--to=cdall@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).