arch/arm64/kvm/vgic/vgic-its.c | 3 +++ 1 file changed, 3 insertions(+)
From: David Woodhouse <dwmw@amazon.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@amazon.co.uk>
---
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);
--
2.43.0
On Mon, 23 Jun 2025 15:22:52 +0200, David Woodhouse wrote: > 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. > > Applied to next, thanks! [1/1] KVM: arm64: vgic-its: Return -ENXIO to invalid KVM_DEV_ARM_VGIC_GRP_CTRL attrs https://git.kernel.org/kvmarm/kvmarm/c/4530256f3699 -- Best, Oliver
On Mon, 2025-06-23 at 15:22 +0200, David Woodhouse wrote: > From: David Woodhouse <dwmw@amazon.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@amazon.co.uk> Ping?
Hi David, On 6/23/25 3:22 PM, David Woodhouse wrote: > From: David Woodhouse <dwmw@amazon.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@amazon.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);
On Tue, 2025-06-24 at 09:25 +0200, Eric Auger wrote: > Hi David, > > On 6/23/25 3:22 PM, David Woodhouse wrote: > > From: David Woodhouse <dwmw@amazon.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@amazon.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? Hi Eric, thanks for looking at this. I think this is OK because the -ENXIO return is covered by the high- level description of KVM_[GS]ET_DEVICE_ATTR in virt/kvm/api.rst: Errors: ===== ============================================================= ENXIO The group or attribute is unknown/unsupported for this device or hardware support is missing.
Hi David, On 6/24/25 11:01 AM, David Woodhouse wrote: > On Tue, 2025-06-24 at 09:25 +0200, Eric Auger wrote: >> Hi David, >> >> On 6/23/25 3:22 PM, David Woodhouse wrote: >>> From: David Woodhouse <dwmw@amazon.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@amazon.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? > > Hi Eric, thanks for looking at this. > > I think this is OK because the -ENXIO return is covered by the high- > level description of KVM_[GS]ET_DEVICE_ATTR in virt/kvm/api.rst: > > Errors: > > ===== ============================================================= > ENXIO The group or attribute is unknown/unsupported for this device > or hardware support is missing. > Ah OK I missed that. Anyway that's not a big deal I think. Reviewed-by: Eric Auger <eric.auger@redhat.com> Eric
© 2016 - 2025 Red Hat, Inc.