All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Morse <james.morse@arm.com>
To: Amit Daniel Kachhap <amit.kachhap@arm.com>,
	Kristina Martsenko <kristina.martsenko@arm.com>
Cc: linux-arm-kernel@lists.infradead.org,
	Christoffer Dall <christoffer.dall@arm.com>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Andrew Jones <drjones@redhat.com>,
	Dave Martin <Dave.Martin@arm.com>,
	Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>,
	kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org,
	Mark Rutland <mark.rutland@arm.com>,
	Julien Thierry <julien.thierry@arm.com>
Subject: Re: [PATCH v7 7/10] KVM: arm/arm64: context-switch ptrauth registers
Date: Wed, 27 Mar 2019 18:16:22 +0000	[thread overview]
Message-ID: <13ab02cf-db27-d604-6e5f-d276dec0779b@arm.com> (raw)
In-Reply-To: <536f518d-5425-cb94-3f64-4c56e5cd65c1@arm.com>

Hi Amit, Kristina,

On 27/03/2019 03:21, Amit Daniel Kachhap wrote:
> On 3/26/19 11:31 PM, Kristina Martsenko wrote:
>> On 26/03/2019 04:03, Amit Daniel Kachhap wrote:
>>> On 3/26/19 1:34 AM, Kristina Martsenko wrote:
>>>> On 19/03/2019 08:30, Amit Daniel Kachhap wrote:
>>>>> 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.

>>>>> +    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;
>>>>> +    }

>> 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?


> 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

WARNING: multiple messages have this Message-ID (diff)
From: James Morse <james.morse@arm.com>
To: Amit Daniel Kachhap <amit.kachhap@arm.com>,
	Kristina Martsenko <kristina.martsenko@arm.com>
Cc: linux-kernel@vger.kernel.org, Marc Zyngier <marc.zyngier@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	kvmarm@lists.cs.columbia.edu,
	Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>,
	Dave Martin <Dave.Martin@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v7 7/10] KVM: arm/arm64: context-switch ptrauth registers
Date: Wed, 27 Mar 2019 18:16:22 +0000	[thread overview]
Message-ID: <13ab02cf-db27-d604-6e5f-d276dec0779b@arm.com> (raw)
In-Reply-To: <536f518d-5425-cb94-3f64-4c56e5cd65c1@arm.com>

Hi Amit, Kristina,

On 27/03/2019 03:21, Amit Daniel Kachhap wrote:
> On 3/26/19 11:31 PM, Kristina Martsenko wrote:
>> On 26/03/2019 04:03, Amit Daniel Kachhap wrote:
>>> On 3/26/19 1:34 AM, Kristina Martsenko wrote:
>>>> On 19/03/2019 08:30, Amit Daniel Kachhap wrote:
>>>>> 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.

>>>>> +    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;
>>>>> +    }

>> 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?


> 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
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

WARNING: multiple messages have this Message-ID (diff)
From: James Morse <james.morse@arm.com>
To: Amit Daniel Kachhap <amit.kachhap@arm.com>,
	Kristina Martsenko <kristina.martsenko@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Andrew Jones <drjones@redhat.com>,
	linux-kernel@vger.kernel.org,
	Julien Thierry <julien.thierry@arm.com>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Christoffer Dall <christoffer.dall@arm.com>,
	kvmarm@lists.cs.columbia.edu,
	Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>,
	Dave Martin <Dave.Martin@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v7 7/10] KVM: arm/arm64: context-switch ptrauth registers
Date: Wed, 27 Mar 2019 18:16:22 +0000	[thread overview]
Message-ID: <13ab02cf-db27-d604-6e5f-d276dec0779b@arm.com> (raw)
In-Reply-To: <536f518d-5425-cb94-3f64-4c56e5cd65c1@arm.com>

Hi Amit, Kristina,

On 27/03/2019 03:21, Amit Daniel Kachhap wrote:
> On 3/26/19 11:31 PM, Kristina Martsenko wrote:
>> On 26/03/2019 04:03, Amit Daniel Kachhap wrote:
>>> On 3/26/19 1:34 AM, Kristina Martsenko wrote:
>>>> On 19/03/2019 08:30, Amit Daniel Kachhap wrote:
>>>>> 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.

>>>>> +    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;
>>>>> +    }

>> 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?


> 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

  reply	other threads:[~2019-03-27 18:56 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-19  8:30 [PATCH v7 0/10] Add ARMv8.3 pointer authentication for kvm guest Amit Daniel Kachhap
2019-03-19  8:30 ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 1/10] KVM: arm64: Propagate vcpu into read_id_reg() Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 2/10] KVM: arm64: Support runtime sysreg visibility filtering Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 3/10] KVM: arm64: Move hyp_symbol_addr to fix dependency Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-20  8:49   ` Julien Thierry
2019-03-20  8:49     ` Julien Thierry
2019-03-21  5:29     ` Amit Daniel Kachhap
2019-03-21  5:29       ` Amit Daniel Kachhap
2019-03-21  5:29       ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 4/10] KVM: arm/arm64: preserve host HCR_EL2 value Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 5/10] KVM: arm/arm64: preserve host MDCR_EL2 value Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-25 20:04   ` Kristina Martsenko
2019-03-25 20:04     ` Kristina Martsenko
2019-03-26  3:55     ` Amit Daniel Kachhap
2019-03-26  3:55       ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 6/10] KVM: arm64: Add vcpu feature flags to control ptrauth accessibility Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 7/10] KVM: arm/arm64: context-switch ptrauth registers Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-20 12:13   ` Julien Thierry
2019-03-20 12:13     ` Julien Thierry
2019-03-21  6:08     ` Amit Daniel Kachhap
2019-03-21  6:08       ` Amit Daniel Kachhap
2019-03-21  8:29       ` Julien Thierry
2019-03-21  8:29         ` Julien Thierry
2019-03-25 20:04   ` Kristina Martsenko
2019-03-25 20:04     ` Kristina Martsenko
2019-03-26  4:03     ` Amit Daniel Kachhap
2019-03-26  4:03       ` Amit Daniel Kachhap
2019-03-26 18:01       ` Kristina Martsenko
2019-03-26 18:01         ` Kristina Martsenko
2019-03-27  3:21         ` Amit Daniel Kachhap
2019-03-27  3:21           ` Amit Daniel Kachhap
2019-03-27  3:21           ` Amit Daniel Kachhap
2019-03-27 18:16           ` James Morse [this message]
2019-03-27 18:16             ` James Morse
2019-03-27 18:16             ` James Morse
2019-03-28 11:29             ` Amit Daniel Kachhap
2019-03-28 11:29               ` Amit Daniel Kachhap
2019-03-28 18:51   ` James Morse
2019-03-28 18:51     ` James Morse
2019-03-29  5:54     ` Amit Daniel Kachhap
2019-03-29  5:54       ` Amit Daniel Kachhap
2019-03-29  5:54       ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 8/10] KVM: arm64: Add capability to advertise ptrauth for guest Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-25 20:05   ` Kristina Martsenko
2019-03-25 20:05     ` Kristina Martsenko
2019-03-26  4:12     ` Amit Daniel Kachhap
2019-03-26  4:12       ` Amit Daniel Kachhap
2019-03-26  4:12       ` Amit Daniel Kachhap
2019-03-19  8:30 ` [PATCH v7 9/10] KVM: arm64: docs: document KVM support of pointer authentication Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap
2019-03-20 13:37   ` Julien Thierry
2019-03-20 13:37     ` Julien Thierry
2019-03-20 15:04     ` Kristina Martsenko
2019-03-20 15:04       ` Kristina Martsenko
2019-03-20 18:06       ` Julien Thierry
2019-03-20 18:06         ` Julien Thierry
2019-03-20 20:56         ` Kristina Martsenko
2019-03-20 20:56           ` Kristina Martsenko
2019-03-21  6:41           ` Amit Daniel Kachhap
2019-03-21  6:41             ` Amit Daniel Kachhap
2019-03-25 20:05   ` Kristina Martsenko
2019-03-25 20:05     ` Kristina Martsenko
2019-03-27 10:44     ` Dave Martin
2019-03-27 10:44       ` Dave Martin
2019-03-27 11:49       ` Amit Daniel Kachhap
2019-03-27 11:49         ` Amit Daniel Kachhap
2019-03-27 13:50         ` Dave Martin
2019-03-27 13:50           ` Dave Martin
2019-03-28 10:13           ` Amit Daniel Kachhap
2019-03-28 10:13             ` Amit Daniel Kachhap
2019-03-19  8:30 ` [kvmtool PATCH v7 10/10] KVM: arm/arm64: Add a vcpu feature for " Amit Daniel Kachhap
2019-03-19  8:30   ` Amit Daniel Kachhap

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=13ab02cf-db27-d604-6e5f-d276dec0779b@arm.com \
    --to=james.morse@arm.com \
    --cc=Dave.Martin@arm.com \
    --cc=amit.kachhap@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=christoffer.dall@arm.com \
    --cc=drjones@redhat.com \
    --cc=julien.thierry@arm.com \
    --cc=kristina.martsenko@arm.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=ramana.radhakrishnan@arm.com \
    --cc=will.deacon@arm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.