<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/xen/xen-pciback, branch v3.2.56</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>xen/pciback: Don't disable a PCI device that is already disabled.</title>
<updated>2013-03-20T15:03:29+00:00</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2013-03-05T18:14:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7eb2731cfc7a24768ccb2e2548a32d145d339ee5'/>
<id>7eb2731cfc7a24768ccb2e2548a32d145d339ee5</id>
<content type='text'>
commit bdc5c1812cea6efe1aaefb3131fcba28cd0b2b68 upstream.

While shuting down a HVM guest with pci devices passed through we
get this:

pciback 0000:04:00.0: restoring config space at offset 0x4 (was 0x100000, writing 0x100002)
------------[ cut here ]------------
WARNING: at drivers/pci/pci.c:1397 pci_disable_device+0x88/0xa0()
Hardware name: MS-7640
Device pciback
disabling already-disabled device
Modules linked in:
Pid: 53, comm: xenwatch Not tainted 3.9.0-rc1-20130304a+ #1
Call Trace:
 [&lt;ffffffff8106994a&gt;] warn_slowpath_common+0x7a/0xc0
 [&lt;ffffffff81069a31&gt;] warn_slowpath_fmt+0x41/0x50
 [&lt;ffffffff813cf288&gt;] pci_disable_device+0x88/0xa0
 [&lt;ffffffff814554a7&gt;] xen_pcibk_reset_device+0x37/0xd0
 [&lt;ffffffff81454b6f&gt;] ? pcistub_put_pci_dev+0x6f/0x120
 [&lt;ffffffff81454b8d&gt;] pcistub_put_pci_dev+0x8d/0x120
 [&lt;ffffffff814582a9&gt;] __xen_pcibk_release_devices+0x59/0xa0

This fixes the bug.

Reported-and-Tested-by: Sander Eikelenboom &lt;linux@eikelenboom.it&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit bdc5c1812cea6efe1aaefb3131fcba28cd0b2b68 upstream.

While shuting down a HVM guest with pci devices passed through we
get this:

pciback 0000:04:00.0: restoring config space at offset 0x4 (was 0x100000, writing 0x100002)
------------[ cut here ]------------
WARNING: at drivers/pci/pci.c:1397 pci_disable_device+0x88/0xa0()
Hardware name: MS-7640
Device pciback
disabling already-disabled device
Modules linked in:
Pid: 53, comm: xenwatch Not tainted 3.9.0-rc1-20130304a+ #1
Call Trace:
 [&lt;ffffffff8106994a&gt;] warn_slowpath_common+0x7a/0xc0
 [&lt;ffffffff81069a31&gt;] warn_slowpath_fmt+0x41/0x50
 [&lt;ffffffff813cf288&gt;] pci_disable_device+0x88/0xa0
 [&lt;ffffffff814554a7&gt;] xen_pcibk_reset_device+0x37/0xd0
 [&lt;ffffffff81454b6f&gt;] ? pcistub_put_pci_dev+0x6f/0x120
 [&lt;ffffffff81454b8d&gt;] pcistub_put_pci_dev+0x8d/0x120
 [&lt;ffffffff814582a9&gt;] __xen_pcibk_release_devices+0x59/0xa0

This fixes the bug.

Reported-and-Tested-by: Sander Eikelenboom &lt;linux@eikelenboom.it&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen-pciback: rate limit error messages from xen_pcibk_enable_msi{,x}()</title>
<updated>2013-03-06T03:24:19+00:00</updated>
<author>
<name>Jan Beulich</name>
<email>jbeulich@suse.com</email>
</author>
<published>2013-02-06T15:30:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ecb1d58c0722e593e50317a63294a52ac2308ace'/>
<id>ecb1d58c0722e593e50317a63294a52ac2308ace</id>
<content type='text'>
commit 51ac8893a7a51b196501164e645583bf78138699 upstream.

... as being guest triggerable (e.g. by invoking
XEN_PCI_OP_enable_msi{,x} on a device not being MSI/MSI-X capable).

This is CVE-2013-0231 / XSA-43.

Also make the two messages uniform in both their wording and severity.

Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Acked-by: Ian Campbell &lt;ian.campbell@citrix.com&gt;
Reviewed-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
[bwh: Backported to 3.2: add #include &lt;linux/ratelimited.h&gt;, needed by
 printk_ratelimited()]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 51ac8893a7a51b196501164e645583bf78138699 upstream.

... as being guest triggerable (e.g. by invoking
XEN_PCI_OP_enable_msi{,x} on a device not being MSI/MSI-X capable).

This is CVE-2013-0231 / XSA-43.

Also make the two messages uniform in both their wording and severity.

Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Acked-by: Ian Campbell &lt;ian.campbell@citrix.com&gt;
Reviewed-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
[bwh: Backported to 3.2: add #include &lt;linux/ratelimited.h&gt;, needed by
 printk_ratelimited()]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen: Add module.h to modular drivers/xen users.</title>
<updated>2011-10-31T23:32:11+00:00</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-07-03T20:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=72ee5112a0007c958dc57f4a1469c4bbd2cf4d11'/>
<id>72ee5112a0007c958dc57f4a1469c4bbd2cf4d11</id>
<content type='text'>
Previously these drivers just got module.h implicitly, but we
are cleaning that up and it will be no longer.  Call out the
real users of it.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously these drivers just got module.h implicitly, but we
are cleaning that up and it will be no longer.  Call out the
real users of it.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next</title>
<updated>2011-10-25T11:25:22+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-25T11:25:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22'/>
<id>8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)
  dp83640: free packet queues on remove
  dp83640: use proper function to free transmit time stamping packets
  ipv6: Do not use routes from locally generated RAs
  |PATCH net-next] tg3: add tx_dropped counter
  be2net: don't create multiple RX/TX rings in multi channel mode
  be2net: don't create multiple TXQs in BE2
  be2net: refactor VF setup/teardown code into be_vf_setup/clear()
  be2net: add vlan/rx-mode/flow-control config to be_setup()
  net_sched: cls_flow: use skb_header_pointer()
  ipv4: avoid useless call of the function check_peer_pmtu
  TCP: remove TCP_DEBUG
  net: Fix driver name for mdio-gpio.c
  ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT
  rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces
  ipv4: fix ipsec forward performance regression
  jme: fix irq storm after suspend/resume
  route: fix ICMP redirect validation
  net: hold sock reference while processing tx timestamps
  tcp: md5: add more const attributes
  Add ethtool -g support to virtio_net
  ...

Fix up conflicts in:
 - drivers/net/Kconfig:
	The split-up generated a trivial conflict with removal of a
	stale reference to Documentation/networking/net-modules.txt.
	Remove it from the new location instead.
 - fs/sysfs/dir.c:
	Fairly nasty conflicts with the sysfs rb-tree usage, conflicting
	with Eric Biederman's changes for tagged directories.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)
  dp83640: free packet queues on remove
  dp83640: use proper function to free transmit time stamping packets
  ipv6: Do not use routes from locally generated RAs
  |PATCH net-next] tg3: add tx_dropped counter
  be2net: don't create multiple RX/TX rings in multi channel mode
  be2net: don't create multiple TXQs in BE2
  be2net: refactor VF setup/teardown code into be_vf_setup/clear()
  be2net: add vlan/rx-mode/flow-control config to be_setup()
  net_sched: cls_flow: use skb_header_pointer()
  ipv4: avoid useless call of the function check_peer_pmtu
  TCP: remove TCP_DEBUG
  net: Fix driver name for mdio-gpio.c
  ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT
  rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces
  ipv4: fix ipsec forward performance regression
  jme: fix irq storm after suspend/resume
  route: fix ICMP redirect validation
  net: hold sock reference while processing tx timestamps
  tcp: md5: add more const attributes
  Add ethtool -g support to virtio_net
  ...

Fix up conflicts in:
 - drivers/net/Kconfig:
	The split-up generated a trivial conflict with removal of a
	stale reference to Documentation/networking/net-modules.txt.
	Remove it from the new location instead.
 - fs/sysfs/dir.c:
	Fairly nasty conflicts with the sysfs rb-tree usage, conflicting
	with Eric Biederman's changes for tagged directories.
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/pciback: Check if the device is found instead of blindly assuming so.</title>
<updated>2011-10-19T21:01:10+00:00</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2011-09-29T17:12:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4645bf306746106f805d2afa5330bf31df381626'/>
<id>4645bf306746106f805d2afa5330bf31df381626</id>
<content type='text'>
Just in case it is not found, don't try to dereference it.

[v1: Added WARN_ON, suggested by Jan Beulich &lt;JBeulich@suse.com&gt;]
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just in case it is not found, don't try to dereference it.

[v1: Added WARN_ON, suggested by Jan Beulich &lt;JBeulich@suse.com&gt;]
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/pciback: Do not dereference psdev during printk when it is NULL.</title>
<updated>2011-10-19T20:58:17+00:00</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2011-09-29T17:43:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=72bf809a19d9fc97bfe39bb928149b5e0f202cb6'/>
<id>72bf809a19d9fc97bfe39bb928149b5e0f202cb6</id>
<content type='text'>
.. instead use BUG_ON() as all the callers of the kill_domain_by_device
check for psdev.

Suggested-by: Jan Beulich &lt;JBeulich@suse.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
.. instead use BUG_ON() as all the callers of the kill_domain_by_device
check for psdev.

Suggested-by: Jan Beulich &lt;JBeulich@suse.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/pciback: double lock typo</title>
<updated>2011-09-29T14:50:26+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2011-09-27T07:07:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e1db4cef8999c422420d55206beb4154f8a85383'/>
<id>e1db4cef8999c422420d55206beb4154f8a85383</id>
<content type='text'>
We called mutex_lock() twice instead of unlocking.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We called mutex_lock() twice instead of unlocking.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/pciback: Add flag indicating device has been assigned by Xen</title>
<updated>2011-09-27T04:48:34+00:00</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2011-09-26T16:22:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cf177fd049d6248b8c594bd7fa3ba56313f7d405'/>
<id>cf177fd049d6248b8c594bd7fa3ba56313f7d405</id>
<content type='text'>
Device drivers that create and destroy SR-IOV virtual functions via
calls to pci_enable_sriov() and pci_disable_sriov can cause catastrophic
failures if they attempt to destroy VFs while they are assigned to
guest virtual machines.  By adding a flag for use by the Xen PCI back
to indicate that a device is assigned a device driver can check that
flag and avoid destroying VFs while they are assigned and avoid system
failures.

Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Device drivers that create and destroy SR-IOV virtual functions via
calls to pci_enable_sriov() and pci_disable_sriov can cause catastrophic
failures if they attempt to destroy VFs while they are assigned to
guest virtual machines.  By adding a flag for use by the Xen PCI back
to indicate that a device is assigned a device driver can check that
flag and avoid destroying VFs while they are assigned and avoid system
failures.

Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/pciback: use mutex rather than spinlock in vpci backend</title>
<updated>2011-09-21T22:18:18+00:00</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2011-09-21T21:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=74d33dedc2fb8d98821bcf7df9800ce59456502e'/>
<id>74d33dedc2fb8d98821bcf7df9800ce59456502e</id>
<content type='text'>
Similar to the "xen/pciback: use mutex rather than spinlock in passthrough backend"
this patch converts the vpci backend to use a mutex instead of
a spinlock. Note that the code taking the lock won't ever get called
from non-sleepable context

Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Similar to the "xen/pciback: use mutex rather than spinlock in passthrough backend"
this patch converts the vpci backend to use a mutex instead of
a spinlock. Note that the code taking the lock won't ever get called
from non-sleepable context

Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/pciback: Use mutexes when working with Xenbus state transitions.</title>
<updated>2011-09-21T22:18:16+00:00</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2011-09-16T18:43:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b1766b62890e3bba1a778a20ef8bf9348d6096c2'/>
<id>b1766b62890e3bba1a778a20ef8bf9348d6096c2</id>
<content type='text'>
The caller that orchestrates the state changes is xenwatch_thread
and it takes a mutex. In our processing of Xenbus states we can take
the luxery of going to sleep on a mutex, so lets do that and
also fix this bug:

BUG: sleeping function called from invalid context at /linux/kernel/mutex.c:271
in_atomic(): 1, irqs_disabled(): 0, pid: 32, name: xenwatch
2 locks held by xenwatch/32:
 #0:  (xenwatch_mutex){......}, at: [&lt;ffffffff813856ab&gt;] xenwatch_thread+0x4b/0x180
 #1:  (&amp;(&amp;pdev-&gt;dev_lock)-&gt;rlock){......}, at: [&lt;ffffffff8138f05b&gt;] xen_pcibk_disconnect+0x1b/0x80
Pid: 32, comm: xenwatch Not tainted 3.1.0-rc6-00015-g3ce340d #2
Call Trace:
 [&lt;ffffffff810892b2&gt;] __might_sleep+0x102/0x130
 [&lt;ffffffff8163b90f&gt;] mutex_lock_nested+0x2f/0x50
 [&lt;ffffffff81382c1c&gt;] unbind_from_irq+0x2c/0x1b0
 [&lt;ffffffff8110da66&gt;] ? free_irq+0x56/0xb0
 [&lt;ffffffff81382dbc&gt;] unbind_from_irqhandler+0x1c/0x30
 [&lt;ffffffff8138f06b&gt;] xen_pcibk_disconnect+0x2b/0x80
 [&lt;ffffffff81390348&gt;] xen_pcibk_frontend_changed+0xe8/0x140
 [&lt;ffffffff81387ac2&gt;] xenbus_otherend_changed+0xd2/0x150
 [&lt;ffffffff810895c1&gt;] ? get_parent_ip+0x11/0x50
 [&lt;ffffffff81387de0&gt;] frontend_changed+0x10/0x20
 [&lt;ffffffff81385712&gt;] xenwatch_thread+0xb2/0x180

Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The caller that orchestrates the state changes is xenwatch_thread
and it takes a mutex. In our processing of Xenbus states we can take
the luxery of going to sleep on a mutex, so lets do that and
also fix this bug:

BUG: sleeping function called from invalid context at /linux/kernel/mutex.c:271
in_atomic(): 1, irqs_disabled(): 0, pid: 32, name: xenwatch
2 locks held by xenwatch/32:
 #0:  (xenwatch_mutex){......}, at: [&lt;ffffffff813856ab&gt;] xenwatch_thread+0x4b/0x180
 #1:  (&amp;(&amp;pdev-&gt;dev_lock)-&gt;rlock){......}, at: [&lt;ffffffff8138f05b&gt;] xen_pcibk_disconnect+0x1b/0x80
Pid: 32, comm: xenwatch Not tainted 3.1.0-rc6-00015-g3ce340d #2
Call Trace:
 [&lt;ffffffff810892b2&gt;] __might_sleep+0x102/0x130
 [&lt;ffffffff8163b90f&gt;] mutex_lock_nested+0x2f/0x50
 [&lt;ffffffff81382c1c&gt;] unbind_from_irq+0x2c/0x1b0
 [&lt;ffffffff8110da66&gt;] ? free_irq+0x56/0xb0
 [&lt;ffffffff81382dbc&gt;] unbind_from_irqhandler+0x1c/0x30
 [&lt;ffffffff8138f06b&gt;] xen_pcibk_disconnect+0x2b/0x80
 [&lt;ffffffff81390348&gt;] xen_pcibk_frontend_changed+0xe8/0x140
 [&lt;ffffffff81387ac2&gt;] xenbus_otherend_changed+0xd2/0x150
 [&lt;ffffffff810895c1&gt;] ? get_parent_ip+0x11/0x50
 [&lt;ffffffff81387de0&gt;] frontend_changed+0x10/0x20
 [&lt;ffffffff81385712&gt;] xenwatch_thread+0xb2/0x180

Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
