Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM fixes from Radim Krčmář:
"All architectures avoid memory corruption in an error path. ARM
prevents bogus acknowledgement of interrupts"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
KVM: use after free in kvm_ioctl_create_device()
KVM: arm/arm64: vgic: Don't notify EOI for non-SPIs

+9 -5
+4 -2
virt/kvm/arm/vgic/vgic-v2.c
··· 50 50 51 51 WARN_ON(cpuif->vgic_lr[lr] & GICH_LR_STATE); 52 52 53 - kvm_notify_acked_irq(vcpu->kvm, 0, 54 - intid - VGIC_NR_PRIVATE_IRQS); 53 + /* Only SPIs require notification */ 54 + if (vgic_valid_spi(vcpu->kvm, intid)) 55 + kvm_notify_acked_irq(vcpu->kvm, 0, 56 + intid - VGIC_NR_PRIVATE_IRQS); 55 57 } 56 58 } 57 59
+4 -2
virt/kvm/arm/vgic/vgic-v3.c
··· 41 41 42 42 WARN_ON(cpuif->vgic_lr[lr] & ICH_LR_STATE); 43 43 44 - kvm_notify_acked_irq(vcpu->kvm, 0, 45 - intid - VGIC_NR_PRIVATE_IRQS); 44 + /* Only SPIs require notification */ 45 + if (vgic_valid_spi(vcpu->kvm, intid)) 46 + kvm_notify_acked_irq(vcpu->kvm, 0, 47 + intid - VGIC_NR_PRIVATE_IRQS); 46 48 } 47 49 48 50 /*
+1 -1
virt/kvm/kvm_main.c
··· 2889 2889 2890 2890 ret = anon_inode_getfd(ops->name, &kvm_device_fops, dev, O_RDWR | O_CLOEXEC); 2891 2891 if (ret < 0) { 2892 - ops->destroy(dev); 2893 2892 mutex_lock(&kvm->lock); 2894 2893 list_del(&dev->vm_node); 2895 2894 mutex_unlock(&kvm->lock); 2895 + ops->destroy(dev); 2896 2896 return ret; 2897 2897 } 2898 2898