diff options
| author | Marc Zyngier <maz@kernel.org> | 2025-04-09 14:24:34 +0100 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2025-04-11 13:08:23 +0100 |
| commit | cd84a42c6703f69a865bd8e48ee8107eb80e0dea (patch) | |
| tree | 01729fdf13219d62319e30bd47acea3ca3c948bd | |
| parent | b7628c7973765c856866b3047c9002ae0825add6 (diff) | |
KVM: arm64: Don't let userspace write to PMCR_EL0.N when the vcpu has EL2
Now that userspace can provide its limit for hte maximum number of
counters, prevent it from writing to PMCR_EL0.N, as the value should
be derived from MDCR_EL2.HPMN in that case.
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Signed-off-by: Marc Zyngier <maz@kernel.org>
| -rw-r--r-- | arch/arm64/kvm/sys_regs.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c index 1e4265172d9d..228a548f0a5b 100644 --- a/arch/arm64/kvm/sys_regs.c +++ b/arch/arm64/kvm/sys_regs.c @@ -1216,6 +1216,7 @@ static int set_pmcr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r, * with the existing KVM behavior. */ if (!kvm_vm_has_ran_once(kvm) && + !vcpu_has_nv(vcpu) && new_n <= kvm_arm_pmu_get_max_counters(kvm)) kvm->arch.nr_pmu_counters = new_n; |
