<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers, branch v3.4.78</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>md/raid10: fix two bugs in handling of known-bad-blocks.</title>
<updated>2014-01-29T13:10:42+00:00</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2014-01-13T23:38:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7e34f43dcc317f24ccc36c26f906909de9058b5c'/>
<id>7e34f43dcc317f24ccc36c26f906909de9058b5c</id>
<content type='text'>
commit b50c259e25d9260b9108dc0c2964c26e5ecbe1c1 upstream.

If we discover a bad block when reading we split the request and
potentially read some of it from a different device.

The code path of this has two bugs in RAID10.
1/ we get a spin_lock with _irq, but unlock without _irq!!
2/ The calculation of 'sectors_handled' is wrong, as can be clearly
   seen by comparison with raid1.c

This leads to at least 2 warnings and a probable crash is a RAID10
ever had known bad blocks.

Fixes: 856e08e23762dfb92ffc68fd0a8d228f9e152160
Reported-by: Damian Nowak &lt;spam@nowaker.net&gt;
URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b50c259e25d9260b9108dc0c2964c26e5ecbe1c1 upstream.

If we discover a bad block when reading we split the request and
potentially read some of it from a different device.

The code path of this has two bugs in RAID10.
1/ we get a spin_lock with _irq, but unlock without _irq!!
2/ The calculation of 'sectors_handled' is wrong, as can be clearly
   seen by comparison with raid1.c

This leads to at least 2 warnings and a probable crash is a RAID10
ever had known bad blocks.

Fixes: 856e08e23762dfb92ffc68fd0a8d228f9e152160
Reported-by: Damian Nowak &lt;spam@nowaker.net&gt;
URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>md/raid10: fix bug when raid10 recovery fails to recover a block.</title>
<updated>2014-01-29T13:10:42+00:00</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2014-01-05T23:35:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=511375d15b111abe2806aed91acb9a4f9d09b4cb'/>
<id>511375d15b111abe2806aed91acb9a4f9d09b4cb</id>
<content type='text'>
commit e8b849158508565e0cd6bc80061124afc5879160 upstream.

commit e875ecea266a543e643b19e44cf472f1412708f9
    md/raid10 record bad blocks as needed during recovery.

added code to the "cannot recover this block" path to record a bad
block rather than fail the whole recovery.
Unfortunately this new case was placed *after* r10bio was freed rather
than *before*, yet it still uses r10bio.
This is will crash with a null dereference.

So move the freeing of r10bio down where it is safe.

Fixes: e875ecea266a543e643b19e44cf472f1412708f9
Reported-by: Damian Nowak &lt;spam@nowaker.net&gt;
URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e8b849158508565e0cd6bc80061124afc5879160 upstream.

commit e875ecea266a543e643b19e44cf472f1412708f9
    md/raid10 record bad blocks as needed during recovery.

added code to the "cannot recover this block" path to record a bad
block rather than fail the whole recovery.
Unfortunately this new case was placed *after* r10bio was freed rather
than *before*, yet it still uses r10bio.
This is will crash with a null dereference.

So move the freeing of r10bio down where it is safe.

Fixes: e875ecea266a543e643b19e44cf472f1412708f9
Reported-by: Damian Nowak &lt;spam@nowaker.net&gt;
URL: https://bugzilla.kernel.org/show_bug.cgi?id=68181
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (coretemp) Fix truncated name of alarm attributes</title>
<updated>2014-01-29T13:10:42+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2014-01-14T14:59:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e34cdde46b0c080f0654f5237c4af76b27019f60'/>
<id>e34cdde46b0c080f0654f5237c4af76b27019f60</id>
<content type='text'>
commit 3f9aec7610b39521c7c69d754de7265f6994c194 upstream.

When the core number exceeds 9, the size of the buffer storing the
alarm attribute name is insufficient and the attribute name is
truncated. This causes libsensors to skip these attributes as the
truncated name is not recognized.

Reported-by: Andreas Hollmann &lt;hollmann@in.tum.de&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3f9aec7610b39521c7c69d754de7265f6994c194 upstream.

When the core number exceeds 9, the size of the buffer storing the
alarm attribute name is insufficient and the attribute name is
truncated. This causes libsensors to skip these attributes as the
truncated name is not recognized.

Reported-by: Andreas Hollmann &lt;hollmann@in.tum.de&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>staging: comedi: 8255_pci: fix for newer PCI-DIO48H</title>
<updated>2014-01-29T13:10:42+00:00</updated>
<author>
<name>Ian Abbott</name>
<email>abbotti@mev.co.uk</email>
</author>
<published>2013-12-13T12:00:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6013932c9416e0d452e9fbdfeb5a85ec308831dc'/>
<id>6013932c9416e0d452e9fbdfeb5a85ec308831dc</id>
<content type='text'>
commit 0283f7a100882684ad32b768f9f1ad81658a0b92 upstream.

At some point, Measurement Computing / ComputerBoards redesigned the
PCI-DIO48H to use a PLX PCI interface chip instead of an AMCC chip.
This meant they had to put their hardware registers in the PCI BAR 2
region instead of PCI BAR 1.  Unfortunately, they kept the same PCI
device ID for the new design.  This means the driver recognizes the
newer cards, but doesn't work (and is likely to screw up the local
configuration registers of the PLX chip) because it's using the wrong
region.

Since  the PCI subvendor and subdevice IDs were both zero on the old
design, but are the same as the vendor and device on the new design, we
can tell the old design and new design apart easily enough.  Split the
existing entry for the PCI-DIO48H in `pci_8255_boards[]` into two new
entries, referenced by different entries in the PCI device ID table
`pci_8255_pci_table[]`.  Use the same board name for both entries.

Signed-off-by: Ian Abbott &lt;abbotti@mev.co.uk&gt;
Acked-by: H Hartley Sweeten &lt;hsweeten@visionengravers.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 0283f7a100882684ad32b768f9f1ad81658a0b92 upstream.

At some point, Measurement Computing / ComputerBoards redesigned the
PCI-DIO48H to use a PLX PCI interface chip instead of an AMCC chip.
This meant they had to put their hardware registers in the PCI BAR 2
region instead of PCI BAR 1.  Unfortunately, they kept the same PCI
device ID for the new design.  This means the driver recognizes the
newer cards, but doesn't work (and is likely to screw up the local
configuration registers of the PLX chip) because it's using the wrong
region.

Since  the PCI subvendor and subdevice IDs were both zero on the old
design, but are the same as the vendor and device on the new design, we
can tell the old design and new design apart easily enough.  Split the
existing entry for the PCI-DIO48H in `pci_8255_boards[]` into two new
entries, referenced by different entries in the PCI device ID table
`pci_8255_pci_table[]`.  Use the same board name for both entries.

Signed-off-by: Ian Abbott &lt;abbotti@mev.co.uk&gt;
Acked-by: H Hartley Sweeten &lt;hsweeten@visionengravers.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>hamradio/yam: fix info leak in ioctl</title>
<updated>2014-01-15T23:27:11+00:00</updated>
<author>
<name>Salva Peiró</name>
<email>speiro@ai2.upv.es</email>
</author>
<published>2013-12-17T09:06:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=eb2da112485dc59834cf1a87036b3a7a43fba3c4'/>
<id>eb2da112485dc59834cf1a87036b3a7a43fba3c4</id>
<content type='text'>
[ Upstream commit 8e3fbf870481eb53b2d3a322d1fc395ad8b367ed ]

The yam_ioctl() code fails to initialise the cmd field
of the struct yamdrv_ioctl_cfg. Add an explicit memset(0)
before filling the structure to avoid the 4-byte info leak.

Signed-off-by: Salva Peiró &lt;speiro@ai2.upv.es&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 8e3fbf870481eb53b2d3a322d1fc395ad8b367ed ]

The yam_ioctl() code fails to initialise the cmd field
of the struct yamdrv_ioctl_cfg. Add an explicit memset(0)
before filling the structure to avoid the 4-byte info leak.

Signed-off-by: Salva Peiró &lt;speiro@ai2.upv.es&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers/net/hamradio: Integer overflow in hdlcdrv_ioctl()</title>
<updated>2014-01-15T23:27:11+00:00</updated>
<author>
<name>Wenliang Fan</name>
<email>fanwlexca@gmail.com</email>
</author>
<published>2013-12-17T03:25:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b7e3762c40e1d7f7a147f7d5be9584e1603bea01'/>
<id>b7e3762c40e1d7f7a147f7d5be9584e1603bea01</id>
<content type='text'>
[ Upstream commit e9db5c21d3646a6454fcd04938dd215ac3ab620a ]

The local variable 'bi' comes from userspace. If userspace passed a
large number to 'bi.data.calibrate', there would be an integer overflow
in the following line:
	s-&gt;hdlctx.calibrate = bi.data.calibrate * s-&gt;par.bitrate / 16;

Signed-off-by: Wenliang Fan &lt;fanwlexca@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit e9db5c21d3646a6454fcd04938dd215ac3ab620a ]

The local variable 'bi' comes from userspace. If userspace passed a
large number to 'bi.data.calibrate', there would be an integer overflow
in the following line:
	s-&gt;hdlctx.calibrate = bi.data.calibrate * s-&gt;par.bitrate / 16;

Signed-off-by: Wenliang Fan &lt;fanwlexca@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netvsc: don't flush peers notifying work during setting mtu</title>
<updated>2014-01-15T23:27:11+00:00</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2013-12-13T09:21:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0248d4b4d5bed909c52877e16db569361648c952'/>
<id>0248d4b4d5bed909c52877e16db569361648c952</id>
<content type='text'>
[ Upstream commit 50dc875f2e6e2e04aed3b3033eb0ac99192d6d02 ]

There's a possible deadlock if we flush the peers notifying work during setting
mtu:

[   22.991149] ======================================================
[   22.991173] [ INFO: possible circular locking dependency detected ]
[   22.991198] 3.10.0-54.0.1.el7.x86_64.debug #1 Not tainted
[   22.991219] -------------------------------------------------------
[   22.991243] ip/974 is trying to acquire lock:
[   22.991261]  ((&amp;(&amp;net_device_ctx-&gt;dwork)-&gt;work)){+.+.+.}, at: [&lt;ffffffff8108af95&gt;] flush_work+0x5/0x2e0
[   22.991307]
but task is already holding lock:
[   22.991330]  (rtnl_mutex){+.+.+.}, at: [&lt;ffffffff81539deb&gt;] rtnetlink_rcv+0x1b/0x40
[   22.991367]
which lock already depends on the new lock.

[   22.991398]
the existing dependency chain (in reverse order) is:
[   22.991426]
-&gt; #1 (rtnl_mutex){+.+.+.}:
[   22.991449]        [&lt;ffffffff810dfdd9&gt;] __lock_acquire+0xb19/0x1260
[   22.991477]        [&lt;ffffffff810e0d12&gt;] lock_acquire+0xa2/0x1f0
[   22.991501]        [&lt;ffffffff81673659&gt;] mutex_lock_nested+0x89/0x4f0
[   22.991529]        [&lt;ffffffff815392b7&gt;] rtnl_lock+0x17/0x20
[   22.991552]        [&lt;ffffffff815230b2&gt;] netdev_notify_peers+0x12/0x30
[   22.991579]        [&lt;ffffffffa0340212&gt;] netvsc_send_garp+0x22/0x30 [hv_netvsc]
[   22.991610]        [&lt;ffffffff8108d251&gt;] process_one_work+0x211/0x6e0
[   22.991637]        [&lt;ffffffff8108d83b&gt;] worker_thread+0x11b/0x3a0
[   22.991663]        [&lt;ffffffff81095e5d&gt;] kthread+0xed/0x100
[   22.991686]        [&lt;ffffffff81681c6c&gt;] ret_from_fork+0x7c/0xb0
[   22.991715]
-&gt; #0 ((&amp;(&amp;net_device_ctx-&gt;dwork)-&gt;work)){+.+.+.}:
[   22.991715]        [&lt;ffffffff810de817&gt;] check_prevs_add+0x967/0x970
[   22.991715]        [&lt;ffffffff810dfdd9&gt;] __lock_acquire+0xb19/0x1260
[   22.991715]        [&lt;ffffffff810e0d12&gt;] lock_acquire+0xa2/0x1f0
[   22.991715]        [&lt;ffffffff8108afde&gt;] flush_work+0x4e/0x2e0
[   22.991715]        [&lt;ffffffff8108e1b5&gt;] __cancel_work_timer+0x95/0x130
[   22.991715]        [&lt;ffffffff8108e303&gt;] cancel_delayed_work_sync+0x13/0x20
[   22.991715]        [&lt;ffffffffa03404e4&gt;] netvsc_change_mtu+0x84/0x200 [hv_netvsc]
[   22.991715]        [&lt;ffffffff815233d4&gt;] dev_set_mtu+0x34/0x80
[   22.991715]        [&lt;ffffffff8153bc2a&gt;] do_setlink+0x23a/0xa00
[   22.991715]        [&lt;ffffffff8153d054&gt;] rtnl_newlink+0x394/0x5e0
[   22.991715]        [&lt;ffffffff81539eac&gt;] rtnetlink_rcv_msg+0x9c/0x260
[   22.991715]        [&lt;ffffffff8155cdd9&gt;] netlink_rcv_skb+0xa9/0xc0
[   22.991715]        [&lt;ffffffff81539dfa&gt;] rtnetlink_rcv+0x2a/0x40
[   22.991715]        [&lt;ffffffff8155c41d&gt;] netlink_unicast+0xdd/0x190
[   22.991715]        [&lt;ffffffff8155c807&gt;] netlink_sendmsg+0x337/0x750
[   22.991715]        [&lt;ffffffff8150d219&gt;] sock_sendmsg+0x99/0xd0
[   22.991715]        [&lt;ffffffff8150d63e&gt;] ___sys_sendmsg+0x39e/0x3b0
[   22.991715]        [&lt;ffffffff8150eba2&gt;] __sys_sendmsg+0x42/0x80
[   22.991715]        [&lt;ffffffff8150ebf2&gt;] SyS_sendmsg+0x12/0x20
[   22.991715]        [&lt;ffffffff81681d19&gt;] system_call_fastpath+0x16/0x1b

This is because we hold the rtnl_lock() before ndo_change_mtu() and try to flush
the work in netvsc_change_mtu(), in the mean time, netdev_notify_peers() may be
called from worker and also trying to hold the rtnl_lock. This will lead the
flush won't succeed forever. Solve this by not canceling and flushing the work,
this is safe because the transmission done by NETDEV_NOTIFY_PEERS was
synchronized with the netif_tx_disable() called by netvsc_change_mtu().

Reported-by: Yaju Cao &lt;yacao@redhat.com&gt;
Tested-by: Yaju Cao &lt;yacao@redhat.com&gt;
Cc: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 50dc875f2e6e2e04aed3b3033eb0ac99192d6d02 ]

There's a possible deadlock if we flush the peers notifying work during setting
mtu:

[   22.991149] ======================================================
[   22.991173] [ INFO: possible circular locking dependency detected ]
[   22.991198] 3.10.0-54.0.1.el7.x86_64.debug #1 Not tainted
[   22.991219] -------------------------------------------------------
[   22.991243] ip/974 is trying to acquire lock:
[   22.991261]  ((&amp;(&amp;net_device_ctx-&gt;dwork)-&gt;work)){+.+.+.}, at: [&lt;ffffffff8108af95&gt;] flush_work+0x5/0x2e0
[   22.991307]
but task is already holding lock:
[   22.991330]  (rtnl_mutex){+.+.+.}, at: [&lt;ffffffff81539deb&gt;] rtnetlink_rcv+0x1b/0x40
[   22.991367]
which lock already depends on the new lock.

[   22.991398]
the existing dependency chain (in reverse order) is:
[   22.991426]
-&gt; #1 (rtnl_mutex){+.+.+.}:
[   22.991449]        [&lt;ffffffff810dfdd9&gt;] __lock_acquire+0xb19/0x1260
[   22.991477]        [&lt;ffffffff810e0d12&gt;] lock_acquire+0xa2/0x1f0
[   22.991501]        [&lt;ffffffff81673659&gt;] mutex_lock_nested+0x89/0x4f0
[   22.991529]        [&lt;ffffffff815392b7&gt;] rtnl_lock+0x17/0x20
[   22.991552]        [&lt;ffffffff815230b2&gt;] netdev_notify_peers+0x12/0x30
[   22.991579]        [&lt;ffffffffa0340212&gt;] netvsc_send_garp+0x22/0x30 [hv_netvsc]
[   22.991610]        [&lt;ffffffff8108d251&gt;] process_one_work+0x211/0x6e0
[   22.991637]        [&lt;ffffffff8108d83b&gt;] worker_thread+0x11b/0x3a0
[   22.991663]        [&lt;ffffffff81095e5d&gt;] kthread+0xed/0x100
[   22.991686]        [&lt;ffffffff81681c6c&gt;] ret_from_fork+0x7c/0xb0
[   22.991715]
-&gt; #0 ((&amp;(&amp;net_device_ctx-&gt;dwork)-&gt;work)){+.+.+.}:
[   22.991715]        [&lt;ffffffff810de817&gt;] check_prevs_add+0x967/0x970
[   22.991715]        [&lt;ffffffff810dfdd9&gt;] __lock_acquire+0xb19/0x1260
[   22.991715]        [&lt;ffffffff810e0d12&gt;] lock_acquire+0xa2/0x1f0
[   22.991715]        [&lt;ffffffff8108afde&gt;] flush_work+0x4e/0x2e0
[   22.991715]        [&lt;ffffffff8108e1b5&gt;] __cancel_work_timer+0x95/0x130
[   22.991715]        [&lt;ffffffff8108e303&gt;] cancel_delayed_work_sync+0x13/0x20
[   22.991715]        [&lt;ffffffffa03404e4&gt;] netvsc_change_mtu+0x84/0x200 [hv_netvsc]
[   22.991715]        [&lt;ffffffff815233d4&gt;] dev_set_mtu+0x34/0x80
[   22.991715]        [&lt;ffffffff8153bc2a&gt;] do_setlink+0x23a/0xa00
[   22.991715]        [&lt;ffffffff8153d054&gt;] rtnl_newlink+0x394/0x5e0
[   22.991715]        [&lt;ffffffff81539eac&gt;] rtnetlink_rcv_msg+0x9c/0x260
[   22.991715]        [&lt;ffffffff8155cdd9&gt;] netlink_rcv_skb+0xa9/0xc0
[   22.991715]        [&lt;ffffffff81539dfa&gt;] rtnetlink_rcv+0x2a/0x40
[   22.991715]        [&lt;ffffffff8155c41d&gt;] netlink_unicast+0xdd/0x190
[   22.991715]        [&lt;ffffffff8155c807&gt;] netlink_sendmsg+0x337/0x750
[   22.991715]        [&lt;ffffffff8150d219&gt;] sock_sendmsg+0x99/0xd0
[   22.991715]        [&lt;ffffffff8150d63e&gt;] ___sys_sendmsg+0x39e/0x3b0
[   22.991715]        [&lt;ffffffff8150eba2&gt;] __sys_sendmsg+0x42/0x80
[   22.991715]        [&lt;ffffffff8150ebf2&gt;] SyS_sendmsg+0x12/0x20
[   22.991715]        [&lt;ffffffff81681d19&gt;] system_call_fastpath+0x16/0x1b

This is because we hold the rtnl_lock() before ndo_change_mtu() and try to flush
the work in netvsc_change_mtu(), in the mean time, netdev_notify_peers() may be
called from worker and also trying to hold the rtnl_lock. This will lead the
flush won't succeed forever. Solve this by not canceling and flushing the work,
this is safe because the transmission done by NETDEV_NOTIFY_PEERS was
synchronized with the netif_tx_disable() called by netvsc_change_mtu().

Reported-by: Yaju Cao &lt;yacao@redhat.com&gt;
Tested-by: Yaju Cao &lt;yacao@redhat.com&gt;
Cc: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tg3: Initialize REG_BASE_ADDR at PCI config offset 120 to 0</title>
<updated>2014-01-15T23:27:11+00:00</updated>
<author>
<name>Nat Gurumoorthy</name>
<email>natg@google.com</email>
</author>
<published>2013-12-09T18:43:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e5893b25ab6bc7a99161b25b07f39c8506038f93'/>
<id>e5893b25ab6bc7a99161b25b07f39c8506038f93</id>
<content type='text'>
[ Upstream commit 388d3335575f4c056dcf7138a30f1454e2145cd8 ]

The new tg3 driver leaves REG_BASE_ADDR (PCI config offset 120)
uninitialized. From power on reset this register may have garbage in it. The
Register Base Address register defines the device local address of a
register. The data pointed to by this location is read or written using
the Register Data register (PCI config offset 128). When REG_BASE_ADDR has
garbage any read or write of Register Data Register (PCI 128) will cause the
PCI bus to lock up. The TCO watchdog will fire and bring down the system.

Signed-off-by: Nat Gurumoorthy &lt;natg@google.com&gt;
Acked-by: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 388d3335575f4c056dcf7138a30f1454e2145cd8 ]

The new tg3 driver leaves REG_BASE_ADDR (PCI config offset 120)
uninitialized. From power on reset this register may have garbage in it. The
Register Base Address register defines the device local address of a
register. The data pointed to by this location is read or written using
the Register Data register (PCI config offset 128). When REG_BASE_ADDR has
garbage any read or write of Register Data Register (PCI 128) will cause the
PCI bus to lock up. The TCO watchdog will fire and bring down the system.

Signed-off-by: Nat Gurumoorthy &lt;natg@google.com&gt;
Acked-by: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>macvtap: signal truncated packets</title>
<updated>2014-01-15T23:27:10+00:00</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2013-12-11T05:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ae8d56de3072a8a812e1400686668315fb27c21b'/>
<id>ae8d56de3072a8a812e1400686668315fb27c21b</id>
<content type='text'>
[ Upstream commit ce232ce01d61b184202bb185103d119820e1260c ]

macvtap_put_user() never return a value grater than iov length, this in fact
bypasses the truncated checking in macvtap_recvmsg(). Fix this by always
returning the size of packet plus the possible vlan header to let the trunca
checking work.

Cc: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Cc: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.com&gt;
Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit ce232ce01d61b184202bb185103d119820e1260c ]

macvtap_put_user() never return a value grater than iov length, this in fact
bypasses the truncated checking in macvtap_recvmsg(). Fix this by always
returning the size of packet plus the possible vlan header to let the trunca
checking work.

Cc: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Cc: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.com&gt;
Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tun: update file current position</title>
<updated>2014-01-15T23:27:10+00:00</updated>
<author>
<name>Zhi Yong Wu</name>
<email>wuzhy@linux.vnet.ibm.com</email>
</author>
<published>2013-12-06T06:16:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=693d5d2765cdd89a9f8f113d6a7426ddfe996378'/>
<id>693d5d2765cdd89a9f8f113d6a7426ddfe996378</id>
<content type='text'>
[ Upstream commit d0b7da8afa079ffe018ab3e92879b7138977fc8f ]

Signed-off-by: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit d0b7da8afa079ffe018ab3e92879b7138977fc8f ]

Signed-off-by: Zhi Yong Wu &lt;wuzhy@linux.vnet.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
