Thread (35 messages) 35 messages, 11 authors, 2017-08-11

Re: [PATCH 10/11] arm64/kvm: context-switch ptrauth registers

From: Will Deacon <hidden>
Date: 2017-08-01 14:32:29
Also in: kvmarm, linux-arm-kernel, lkml

On Tue, Aug 01, 2017 at 03:26:07PM +0100, Mark Rutland wrote:
On Tue, Aug 01, 2017 at 01:00:14PM +0200, Christoffer Dall wrote:
quoted
On Wed, Jul 19, 2017 at 05:01:31PM +0100, Mark Rutland wrote:
quoted
When pointer authentication is supported, a guest may wish to use it.
This patch adds the necessary KVM infrastructure for this to work, with
a semi-lazy context switch of the pointer auth state.

When we schedule a vcpu, we disable guest usage of pointer
authentication instructions and accesses to the keys. While these are
disabled, we avoid context-switching the keys. When we trap the guest
trying to use pointer authentication functionality, we change to eagerly
context-switching the keys, and enable the feature. The next time the
vcpu is scheduled out/in, we start again.

This is sufficient for systems with uniform pointer authentication
support. For systems with mismatched support, it will be necessary to
What is mismatched support?  You mean systems where one CPU has ptrauth
and another one doesn't (or if they both have it but in different ways)?
Both! Any case where the support is not uniform across all CPUs.

A CPU can implement address auth and/or generic auth, and either may use
an architected algorithm or an IMP DEF algorithm.

Even if all CPUs report an IMP DEF algorithm, the particular algorithm
may differ across CPUs.
I know you don't like it, but I think we should resort to MIDR at that point
because otherwise IMP DEF algorithms will never be used by Linux and people
will complain.

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help