Message ID | 20241209110717.77279-2-schlameuss@linux.ibm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests: kvm: s390: Reject invalid ioctls on ucontrol VMs | expand |
On 12/9/24 12:07 PM, Christoph Schlameuss wrote: > Prevent null pointer dereference when processing the > KVM_DEV_FLIC_APF_ENABLE and KVM_DEV_FLIC_APF_DISABLE_WAIT ioctls in the > interrupt controller. > > Reported-by: Claudio Imbrenda <imbrenda@linux.ibm.com> > Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> Please add a fixes tag to this patch and #3. It's fine to just send a reply to the patches until there are enough comments for a proper v2.
On 12/9/24 12:07 PM, Christoph Schlameuss wrote: > Prevent null pointer dereference when processing the > KVM_DEV_FLIC_APF_ENABLE and KVM_DEV_FLIC_APF_DISABLE_WAIT ioctls in the > interrupt controller. > > Reported-by: Claudio Imbrenda <imbrenda@linux.ibm.com> > Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> Please have a look into the documentation and find a place to write down the !ucontrol requirement. Documentation/virt/kvm/devices/s390_flic.rst Documentation/virt/kvm/api.rst
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index ea8dce299954..22d73c13e555 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c @@ -2678,9 +2678,13 @@ static int flic_set_attr(struct kvm_device *dev, struct kvm_device_attr *attr) kvm_s390_clear_float_irqs(dev->kvm); break; case KVM_DEV_FLIC_APF_ENABLE: + if (kvm_is_ucontrol(dev->kvm)) + return -EINVAL; dev->kvm->arch.gmap->pfault_enabled = 1; break; case KVM_DEV_FLIC_APF_DISABLE_WAIT: + if (kvm_is_ucontrol(dev->kvm)) + return -EINVAL; dev->kvm->arch.gmap->pfault_enabled = 0; /* * Make sure no async faults are in transition when
Prevent null pointer dereference when processing the KVM_DEV_FLIC_APF_ENABLE and KVM_DEV_FLIC_APF_DISABLE_WAIT ioctls in the interrupt controller. Reported-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> --- arch/s390/kvm/interrupt.c | 4 ++++ 1 file changed, 4 insertions(+)