KVM uses memory slots to track and map guest regions of memory. When device assignment is used, the pages backing these slots are pinned in memory using get_user_pages and mapped into the iommu. The problem is that when a memory slot is destroyed the pages for the associated memory slot are neither unpinned nor unmapped from the iommu. The problem is that those pages are now never unpinned and continue to have an increased reference count. This is therefore a potential page leak from the kvm kernel module. On Red Hat Enterprise Linux, local user with ability to assign device (with access to PCI sysfs files for a device) could use this flaw to DoS the system. With upstream qemu-kvm/kvm privileged guest user that could hotunplug and then hotplug back certain devices could potentially use this flaw to DoS the host. Upstream fixes: http://git.kernel.org/?p=virt/kvm/kvm.git;a=commit;h=32f6daad4651a748a58a3ab6da0611862175722f http://git.kernel.org/?p=virt/kvm/kvm.git;a=commit;h=21a1416a1c945c5aeaeaf791b63c64926018eb77 References: https://lkml.org/lkml/2012/4/11/248
Created kernel tracking bugs for this issue Affects: fedora-all [bug 814155]
Assigned CVE as per http://www.openwall.com/lists/oss-security/2012/04/19/16
kernel-3.3.2-8.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
kernel-3.3.2-6.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
kernel-2.6.43.2-6.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.
This issue has been addressed in following products: Red Hat Enterprise Linux 5 Via RHSA-2012:0676 https://rhn.redhat.com/errata/RHSA-2012-0676.html
This issue has been addressed in following products: Red Hat Enterprise Linux 6 Via RHSA-2012:0743 https://rhn.redhat.com/errata/RHSA-2012-0743.html