Thread (38 messages) 38 messages, 5 authors, 2019-03-29

Re: [PATCH v7 7/10] KVM: arm/arm64: context-switch ptrauth registers

From: Amit Daniel Kachhap <hidden>
Date: 2019-03-28 11:29:26
Also in: kvmarm, lkml

Hi James,
On 3/27/19 11:46 PM, James Morse wrote:
Hi Amit, Kristina,

On 27/03/2019 03:21, Amit Daniel Kachhap wrote:
quoted
On 3/26/19 11:31 PM, Kristina Martsenko wrote:
quoted
On 26/03/2019 04:03, Amit Daniel Kachhap wrote:
quoted
On 3/26/19 1:34 AM, Kristina Martsenko wrote:
quoted
On 19/03/2019 08:30, Amit Daniel Kachhap wrote:
quoted
From: Mark Rutland <mark.rutland@arm.com>

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.
quoted
quoted
quoted
quoted
quoted
+    if (test_bit(KVM_ARM_VCPU_PTRAUTH_ADDRESS, vcpu->arch.features) ||
+        test_bit(KVM_ARM_VCPU_PTRAUTH_GENERIC, vcpu->arch.features)) {>>>>> +        /* Verify that KVM startup matches the conditions for ptrauth */
+        if (WARN_ON(!vcpu_has_ptrauth(vcpu)))
+            return -EINVAL;
+    }
quoted
quoted
One more thing - I think the WARN_ON() here should be removed. Otherwise
if panic_on_warn is set then userspace can panic the kernel. I think
WARN_ON is only for internal kernel errors (see comment in
include/asm-generic/bug.h).
The documentation makes sense so in this case a pr_err like message will suffice.
(could it be a kvm_debug() at most?)

Do we need to print anything at all? User-space asked us for something we can't do.
Filling up the kernel log with user-space's mistakes makes it harder to debug the kernel
when something goes wrong.

kvm_arm_pmu_v3_init() returns -ENODEV if you ask if for the PMU and the platform can't
support it. Isn't the returned error enough?
Yes Agree that most of the time the user invoked functions are just 
returned with error value in case of failure. Thanks for the details.

Regards,
Amit D
quoted
Btw
there is one WARN in the function kvm_set_ipa_limit in the same file.
That is called once via kvm_arch_init(), it can't be triggered repeatedly from user-space.


Thanks,

James
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help