<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/vfio, branch v3.9.1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/vfio?h=v3.9.1</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/vfio?h=v3.9.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-03-26T17:33:16Z</updated>
<entry>
<title>vfio-pci: Fix possible integer overflow</title>
<updated>2013-03-26T17:33:16Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-03-26T17:33:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=904c680c7bf016a8619a045850937427f8d7368c'/>
<id>urn:sha1:904c680c7bf016a8619a045850937427f8d7368c</id>
<content type='text'>
The VFIO_DEVICE_SET_IRQS ioctl takes a start and count parameter, both
of which are unsigned.  We attempt to bounds check these, but fail to
account for the case where start is a very large number, allowing
start + count to wrap back into the valid range.  Bounds check both
start and start + count.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio: include &lt;linux/slab.h&gt; for kmalloc</title>
<updated>2013-03-15T18:58:20Z</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2013-03-15T18:58:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25e9789ddd9d14a8971f4a421d04f282719ab733'/>
<id>urn:sha1:25e9789ddd9d14a8971f4a421d04f282719ab733</id>
<content type='text'>
The vfio drivers call kmalloc or kzalloc, but do not
include &lt;linux/slab.h&gt;, which causes build errors on
ARM.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Cc: kvm@vger.kernel.org
</content>
</entry>
<entry>
<title>vfio: convert to idr_alloc()</title>
<updated>2013-02-28T03:10:19Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2013-02-28T01:04:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a1c36b166be76763cfab1a4308a00d6ffd8a2cc0'/>
<id>urn:sha1:a1c36b166be76763cfab1a4308a00d6ffd8a2cc0</id>
<content type='text'>
Convert to the much saner new idr interface.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Acked-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/vfio: remove depends on CONFIG_EXPERIMENTAL</title>
<updated>2013-02-24T16:59:44Z</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2013-02-24T16:59:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d65530fbc799e4036d4d3da4ab6e9fa6d8c4a447'/>
<id>urn:sha1:d65530fbc799e4036d4d3da4ab6e9fa6d8c4a447</id>
<content type='text'>
The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
while now and is almost always enabled by default. As agreed during the
Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio-pci: Add support for VGA region access</title>
<updated>2013-02-18T17:11:13Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-02-18T17:11:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=84237a826b261de7ddd3d09ee53ee68cb4138937'/>
<id>urn:sha1:84237a826b261de7ddd3d09ee53ee68cb4138937</id>
<content type='text'>
PCI defines display class VGA regions at I/O port address 0x3b0, 0x3c0
and MMIO address 0xa0000.  As these are non-overlapping, we can ignore
the I/O port vs MMIO difference and expose them both in a single
region.  We make use of the VGA arbiter around each access to
configure chipset access as necessary.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio-pci: Manage user power state transitions</title>
<updated>2013-02-18T17:10:33Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-02-18T17:10:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2dd1194833de133960f286903ce704cb10fa7eb0'/>
<id>urn:sha1:2dd1194833de133960f286903ce704cb10fa7eb0</id>
<content type='text'>
We give the user access to change the power state of the device but
certain transitions result in an uninitialized state which the user
cannot resolve.  To fix this we need to mark the PowerState field of
the PMCSR register read-only and effect the requested change on behalf
of the user.  This has the added benefit that pdev-&gt;current_state
remains accurate while controlled by the user.

The primary example of this bug is a QEMU guest doing a reboot where
the device it put into D3 on shutdown and becomes unusable on the next
boot because the device did a soft reset on D3-&gt;D0 (NoSoftRst-).

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio: whitelist pcieport</title>
<updated>2013-02-14T21:02:13Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-02-14T21:02:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2b489a45f63102205cece37057c21f6fa66f6ce4'/>
<id>urn:sha1:2b489a45f63102205cece37057c21f6fa66f6ce4</id>
<content type='text'>
pcieport does nice things like manage AER and we know it doesn't do
DMA or expose any user accessible devices on the host.  It also keeps
the Memory, I/O, and Busmaster bits enabled, which is pretty handy
when trying to use anyting below it.  Devices owned by pcieport cannot
be given to users via vfio, but we can tolerate them not being owned
by vfio-pci.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio: Protect vfio_dev_present against device_del</title>
<updated>2013-02-14T21:02:13Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-02-14T21:02:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e014e9444aedc365742d533e1443b22470cc67b9'/>
<id>urn:sha1:e014e9444aedc365742d533e1443b22470cc67b9</id>
<content type='text'>
vfio_dev_present is meant to give us a wait_event callback so that we
can block removing a device from vfio until it becomes unused.  The
root of this check depends on being able to get the iommu group from
the device.  Unfortunately if the BUS_NOTIFY_DEL_DEVICE notifier has
fired then the device-group reference is no longer searchable and we
fail the lookup.

We don't need to go to such extents for this though.  We have a
reference to the device, from which we can acquire a reference to the
group.  We can then use the group reference to search for the device
and properly block removal.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio-pci: Cleanup BAR access</title>
<updated>2013-02-14T21:02:12Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-02-14T21:02:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=906ee99dd2a5c819c1171ce5eaf6c080c027e58c'/>
<id>urn:sha1:906ee99dd2a5c819c1171ce5eaf6c080c027e58c</id>
<content type='text'>
We can actually handle MMIO and I/O port from the same access function
since PCI already does abstraction of this.  The ROM BAR only requires
a minor difference, so it gets included too.  vfio_pci_config_readwrite
gets renamed for consistency.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
<entry>
<title>vfio-pci: Cleanup read/write functions</title>
<updated>2013-02-14T21:02:12Z</updated>
<author>
<name>Alex Williamson</name>
<email>alex.williamson@redhat.com</email>
</author>
<published>2013-02-14T21:02:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5b279a11d32998aad1e45fe9de225302b6a8e8ba'/>
<id>urn:sha1:5b279a11d32998aad1e45fe9de225302b6a8e8ba</id>
<content type='text'>
The read and write functions are nearly identical, combine them
and convert to a switch statement.  This also makes it easy to
narrow the scope of when we use the io/mem accessors in case new
regions are added.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
</content>
</entry>
</feed>
