On 9/16/26 4:32 PM, Eric Farman wrote: > The ioctl to determine whether KVM_DEV_FLIC_CLEAR_IO_IRQ is present > receives the contents of the attribute struct as its payload, > rather than a pointer to the payload itself as is convention. > > This may result in erroneous errors from the ioctl, which would > result in clear_io_supported being false when it otherwise could > be used (which is helpful in device recovery). > > Cc: [email protected] > Fixes: 9eccb8622c ("s390x/kvm: add interface for clearing IO irqs") > Signed-off-by: Eric Farman <[email protected]> > --- > hw/intc/s390_flic_kvm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c > index f833a3996a..5e6d422fba 100644 > --- a/hw/intc/s390_flic_kvm.c > +++ b/hw/intc/s390_flic_kvm.c > @@ -633,7 +633,7 @@ static void kvm_s390_flic_realize(DeviceState *dev, Error > **errp) > /* Check clear_io_irq support */ > test_attr.group = KVM_DEV_FLIC_CLEAR_IO_IRQ; > flic_state->clear_io_supported = !ioctl(flic_state->fd, > - KVM_HAS_DEVICE_ATTR, test_attr); > + KVM_HAS_DEVICE_ATTR, &test_attr);
Reviewed-by: Matthew Rosato <[email protected]> But AFAICT this means we've never actually driven KVM_DEV_FLIC_CLEAR_IO_IRQ and instead always took the -ENOYSYS in kvm_s390_clear_io_flic() -- so probably want to make sure we test this path. > } > > static void kvm_s390_flic_reset(DeviceState *dev)
