From: Dave Martin <Dave.Martin@arm.com>
To: Andre Przywara <andre.przywara@arm.com>
Cc: Christoffer Dall <cdall@kernel.org>,
Marc Zyngier <marc.zyngier@arm.com>,
Will Deacon <will.deacon@arm.com>,
Kristina Martsenko <kristina.martsenko@arm.com>,
Zhang Lei <zhang.lei@jp.fujitsu.com>,
Amit Daniel Kachhap <amit.kachhap@arm.com>,
kvmarm@lists.cs.columbia.edu,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH kvmtool v3 5/9] KVM: arm/arm64: Add a vcpu feature for pointer authentication
Date: Mon, 3 Jun 2019 15:18:21 +0100 [thread overview]
Message-ID: <20190603141820.GQ28398@e103592.cambridge.arm.com> (raw)
In-Reply-To: <20190603150348.47368256@donnerap.cambridge.arm.com>
On Mon, Jun 03, 2019 at 03:03:48PM +0100, Andre Przywara wrote:
> On Mon, 3 Jun 2019 12:23:03 +0100
> Dave Martin <Dave.Martin@arm.com> wrote:
>
> Hi Dave,
>
> > On Fri, May 31, 2019 at 06:04:16PM +0100, Andre Przywara wrote:
> > > On Thu, 30 May 2019 16:13:10 +0100
> > > Dave Martin <Dave.Martin@arm.com> wrote:
> > >
> > > > From: Amit Daniel Kachhap <amit.kachhap@arm.com>
> > > >
> > > > This patch adds a runtime capabality for KVM tool to enable Arm64 8.3
> > > > Pointer Authentication in guest kernel. Two vcpu features
> > > > KVM_ARM_VCPU_PTRAUTH_[ADDRESS/GENERIC] are supplied together to enable
> > > > Pointer Authentication in KVM guest after checking the capability.
> > > >
> > > > Command line options --enable-ptrauth and --disable-ptrauth are added
> > > > to use this feature. However, if those options are not provided then
> > > > also this feature is enabled if host supports this capability.
> > >
> > > I don't really get the purpose of two options, I think that's quite
> > > confusing. Should the first one either be dropped at all or called
> > > something with "force"?
> > >
> > > I guess the idea is to fail if pointer auth isn't available, but the
> > > option is supplied?
> > >
> > > Or maybe have one option with parameters?
> > > --ptrauth[,=enable,=disable]
> >
> > So, I was following two principles here, either or both of which may be
> > bogus:
> >
> > 1) There should be a way to determine whether KVM turns a given feature
> > on or off (instead of magically defaulting to something).
> >
> > 2) To a first approaximation, kvmtool should allow each major KVM ABI
> > feature to be exercised.
> >
> > 3) By default, kvmtool should offer the maximum feature set possible to
> > the guest.
> >
> >
> > (3) is well established, but (1) and (2) may be open to question?
> >
> > If we hold to both principles, it makes sense to have options
> > functionally equivalent to what I suggested (where KVM provides the
> > control in the first place), but there may be more convenient ways
> > to respell the options.
> >
> > If we really can't decide, maybe it's better to drop the options
> > altogether until we have a real use case.
>
> In general I prefer the lack of a *need* for options over tuneability, but my concern is not so much exposing this knob, but more how it's done ...
>
> > I've found the options very useful for testing and debugging on the SVE
> > side, but I can't comment on ptrauth. Maybe someone else has a view?
>
> Given that kvmtool was designed as a hacker tool, I find it quite useful to play around with those setting. I just have my gripes with those enable/disable pair, which are two related, but actually separate options, both polluting the command line options space and also being confusing to the user.
> I would be much happier if we would have one option per feature and a parameter: "--ptrauth={enable,disable}". Omitting the option altogether defaults to "enabled-if-available". Specifying it will force it on or off, accompanied by an error message if either(?) if not possible. This would also remove the need for the somewhat awkward "don't enable both" check.
> It would also more easily allow a common parser, to be used by both ptrauth and SVE, for instance.
> We could even introduce an explicit "default" parameter value, just in case people want to spell this case out.
>
> What do you think about this?
Happy to do something like that, though it looks like the decision to
drop the options altogether may preempt that...
Cheers
---Dave
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
next prev parent reply other threads:[~2019-06-03 14:18 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-30 15:13 [PATCH kvmtool v3 0/9] arm64: Pointer Authentication and SVE support Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 1/9] update_headers.sh: Add missing shell quoting Dave Martin
2019-05-31 17:02 ` Andre Przywara
2019-06-03 10:40 ` Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 2/9] update_headers.sh: Cleanly report failure on error Dave Martin
2019-05-31 17:03 ` Andre Przywara
2019-06-03 10:41 ` Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 3/9] update_headers.sh: arm64: Copy sve_context.h if available Dave Martin
2019-05-31 17:03 ` Andre Przywara
2019-06-03 11:08 ` Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 4/9] update_headers: Sync kvm UAPI headers with linux v5.1-rc1 Dave Martin
2019-05-31 17:03 ` Andre Przywara
2019-06-03 11:10 ` Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 5/9] KVM: arm/arm64: Add a vcpu feature for pointer authentication Dave Martin
2019-05-31 17:04 ` Andre Przywara
2019-06-03 11:23 ` Dave Martin
2019-06-03 14:03 ` Andre Przywara
2019-06-03 14:18 ` Dave Martin [this message]
2019-06-03 14:07 ` Will Deacon
2019-06-03 14:17 ` Dave Martin
2019-06-03 13:48 ` Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 6/9] arm/arm64: Factor out ptrauth vcpu feature setup Dave Martin
2019-05-31 17:04 ` Andre Przywara
2019-06-03 11:12 ` Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 7/9] arm64: Make ptrauth enable/disable diagnostics more user-friendly Dave Martin
2019-05-31 17:05 ` Andre Przywara
2019-06-03 11:14 ` Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 8/9] arm64: Add SVE support Dave Martin
2019-05-31 17:13 ` Andre Przywara
2019-06-03 11:15 ` Dave Martin
2019-05-30 15:13 ` [PATCH kvmtool v3 9/9] arm64: Select SVE vector lengths via the command line Dave Martin
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=20190603141820.GQ28398@e103592.cambridge.arm.com \
--to=dave.martin@arm.com \
--cc=amit.kachhap@arm.com \
--cc=andre.przywara@arm.com \
--cc=cdall@kernel.org \
--cc=kristina.martsenko@arm.com \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=marc.zyngier@arm.com \
--cc=will.deacon@arm.com \
--cc=zhang.lei@jp.fujitsu.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