[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5e22442e-ddf8-4f5d-b7e4-5e2c9bf783b0@redhat.com>
Date: Tue, 24 Jun 2025 09:25:08 +0200
From: Eric Auger <eauger@...hat.com>
To: David Woodhouse <dwmw2@...radead.org>, Marc Zyngier <maz@...nel.org>,
Oliver Upton <oliver.upton@...ux.dev>, Joey Gouly <joey.gouly@....com>,
Suzuki K Poulose <suzuki.poulose@....com>, Zenghui Yu
<yuzenghui@...wei.com>, Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>, Jing Zhang <jingzhangos@...gle.com>,
Kunkun Jiang <jiangkunkun@...wei.com>, Paolo Bonzini <pbonzini@...hat.com>,
Sebastian Ott <sebott@...hat.com>, Maxim Levitsky <mlevitsk@...hat.com>,
Keisuke Nishimura <keisuke.nishimura@...ia.fr>,
linux-arm-kernel@...ts.infradead.org, kvmarm@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: KVM: arm64: vgic-its: Return -ENXIO to invalid
KVM_DEV_ARM_VGIC_GRP_CTRL attrs
Hi David,
On 6/23/25 3:22 PM, David Woodhouse wrote:
> From: David Woodhouse <dwmw@...zon.co.uk>
>
> A preliminary version of a hack to invoke unmap_all_vpes() from an ioctl
> didn't work very well. We eventually determined this was because we were
> invoking it on the wrong file descriptor, but not getting an error.
>
> Signed-off-by: David Woodhouse <dwmw@...zon.co.uk>
In the corresponding doc (virt/kvm/devices/arm-vgic-its.rst)
it is said about possible returned values:
-ENXIO ITS not properly configured as required prior to setting
this attribute
which does not exactly match your situation. Shouldn't we also update
the doc or change the returned value?
Thanks
Eric
> ---
> arch/arm64/kvm/vgic/vgic-its.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/kvm/vgic/vgic-its.c b/arch/arm64/kvm/vgic/vgic-its.c
> index 534049c7c94b..b34f8976c9cc 100644
> --- a/arch/arm64/kvm/vgic/vgic-its.c
> +++ b/arch/arm64/kvm/vgic/vgic-its.c
> @@ -2694,6 +2694,9 @@ static int vgic_its_ctrl(struct kvm *kvm, struct vgic_its *its, u64 attr)
> case KVM_DEV_ARM_ITS_RESTORE_TABLES:
> ret = abi->restore_tables(its);
> break;
> + default:
> + ret = -ENXIO;
> + break;
> }
>
> mutex_unlock(&its->its_lock);
Powered by blists - more mailing lists