<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net, branch v4.6.4</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>net: nps_enet: Disable interrupts before napi reschedule</title>
<updated>2016-06-24T17:22:01+00:00</updated>
<author>
<name>Elad Kanfi</name>
<email>eladkan@mellanox.com</email>
</author>
<published>2016-05-26T12:00:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2d83aedee4aac5452f598e13df8982b929ba27bd'/>
<id>2d83aedee4aac5452f598e13df8982b929ba27bd</id>
<content type='text'>
[ Upstream commit 86651650d16a359e4142c6a8b0467c87e48c4c94 ]

Since NAPI works by shutting down event interrupts when theres
work and turning them on when theres none, the net driver must
make sure that interrupts are disabled when it reschedules polling.
By calling napi_reschedule, the driver switches to polling mode,
therefor there should be no interrupt interference.
Any received packets will be handled in nps_enet_poll by polling the HW
indication of received packet until all packets are handled.

Signed-off-by: Elad Kanfi &lt;eladkan@mellanox.com&gt;
Acked-by: Noam Camus &lt;noamca@mellanox.com&gt;
Tested-by: Alexey Brodkin &lt;abrodkin@synopsys.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 86651650d16a359e4142c6a8b0467c87e48c4c94 ]

Since NAPI works by shutting down event interrupts when theres
work and turning them on when theres none, the net driver must
make sure that interrupts are disabled when it reschedules polling.
By calling napi_reschedule, the driver switches to polling mode,
therefor there should be no interrupt interference.
Any received packets will be handled in nps_enet_poll by polling the HW
indication of received packet until all packets are handled.

Signed-off-by: Elad Kanfi &lt;eladkan@mellanox.com&gt;
Acked-by: Noam Camus &lt;noamca@mellanox.com&gt;
Tested-by: Alexey Brodkin &lt;abrodkin@synopsys.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>vxlan: Accept user specified MTU value when create new vxlan link</title>
<updated>2016-06-24T17:22:00+00:00</updated>
<author>
<name>Chen Haiquan</name>
<email>oc@yunify.com</email>
</author>
<published>2016-05-27T02:49:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2e42134e1894ab69ab0343e2c561bd25aee47d42'/>
<id>2e42134e1894ab69ab0343e2c561bd25aee47d42</id>
<content type='text'>
[ Upstream commit ce577668a426c6a9e2470a09dcd07fbd6e45272a ]

When create a new vxlan link, example:
  ip link add vtap mtu 1440 type vxlan vni 1 dev eth0

The argument "mtu" has no effect, because it is not set to conf-&gt;mtu. The
default value is used in vxlan_dev_configure function.

This problem was introduced by commit 0dfbdf4102b9 (vxlan: Factor out device
configuration).

Fixes: 0dfbdf4102b9 (vxlan: Factor out device configuration)
Signed-off-by:  Chen Haiquan &lt;oc@yunify.com&gt;
Acked-by: Cong Wang &lt;xiyou.wangcong@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 ce577668a426c6a9e2470a09dcd07fbd6e45272a ]

When create a new vxlan link, example:
  ip link add vtap mtu 1440 type vxlan vni 1 dev eth0

The argument "mtu" has no effect, because it is not set to conf-&gt;mtu. The
default value is used in vxlan_dev_configure function.

This problem was introduced by commit 0dfbdf4102b9 (vxlan: Factor out device
configuration).

Fixes: 0dfbdf4102b9 (vxlan: Factor out device configuration)
Signed-off-by:  Chen Haiquan &lt;oc@yunify.com&gt;
Acked-by: Cong Wang &lt;xiyou.wangcong@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>net: stmmac: Fix incorrect memcpy source memory</title>
<updated>2016-06-24T17:22:00+00:00</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2016-05-25T22:40:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0a626fb88972dfe5ebbf80412faae8fe723fb6c4'/>
<id>0a626fb88972dfe5ebbf80412faae8fe723fb6c4</id>
<content type='text'>
[ Upstream commit 643d60bf575daaba93c1ac0d0e1c4b1d4ded1f75 ]

The memcpy() currently copies mdio_bus_data into new_bus-&gt;irq, which
makes no sense, since the mdio_bus_data structure contains more than
just irqs. The code was likely supposed to copy mdio_bus_data-&gt;irqs
into the new_bus-&gt;irq instead, so fix this.

Fixes: e7f4dc3536a4 ("mdio: Move allocation of interrupts into core")
Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Cc: Alexandre Torgue &lt;alexandre.torgue@st.com&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&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 643d60bf575daaba93c1ac0d0e1c4b1d4ded1f75 ]

The memcpy() currently copies mdio_bus_data into new_bus-&gt;irq, which
makes no sense, since the mdio_bus_data structure contains more than
just irqs. The code was likely supposed to copy mdio_bus_data-&gt;irqs
into the new_bus-&gt;irq instead, so fix this.

Fixes: e7f4dc3536a4 ("mdio: Move allocation of interrupts into core")
Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Cc: Alexandre Torgue &lt;alexandre.torgue@st.com&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&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>net: alx: use custom skb allocator</title>
<updated>2016-06-24T17:22:00+00:00</updated>
<author>
<name>Feng Tang</name>
<email>feng.tang@intel.com</email>
</author>
<published>2016-05-25T06:49:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5f47c0caf670843d8edefd17c4381c439a5ff890'/>
<id>5f47c0caf670843d8edefd17c4381c439a5ff890</id>
<content type='text'>
[ Upstream commit 26c5f03b2ae8018418ceb25b2e6a48560e8c2f5b ]

This patch follows Eric Dumazet's commit 7b70176421 for Atheros
atl1c driver to fix one exactly same bug in alx driver, that the
network link will be lost in 1-5 minutes after the device is up.

My laptop Lenovo Y580 with Atheros AR8161 ethernet device hit the
same problem with kernel 4.4, and it will be cured by Jarod Wilson's
commit c406700c for alx driver which get merged in 4.5. But there
are still some alx devices can't function well even with Jarod's
patch, while this patch could make them work fine. More details on
	https://bugzilla.kernel.org/show_bug.cgi?id=70761

The debug shows the issue is very likely to be related with the RX
DMA address, specifically 0x...f80, if RX buffer get 0x...f80 several
times, their will be RX overflow error and device will stop working.

For kernel 4.5.0 with Jarod's patch which works fine with my
AR8161/Lennov Y580, if I made some change to the
	__netdev_alloc_skb
		--&gt; __alloc_page_frag()
to make the allocated buffer can get an address with 0x...f80,
then the same error happens. If I make it to 0x...f40 or 0x....fc0,
everything will be still fine. So I tend to believe that the
0x..f80 address cause the silicon to behave abnormally.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70761
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Tested-by: Ole Lukoie &lt;olelukoie@mail.ru&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 26c5f03b2ae8018418ceb25b2e6a48560e8c2f5b ]

This patch follows Eric Dumazet's commit 7b70176421 for Atheros
atl1c driver to fix one exactly same bug in alx driver, that the
network link will be lost in 1-5 minutes after the device is up.

My laptop Lenovo Y580 with Atheros AR8161 ethernet device hit the
same problem with kernel 4.4, and it will be cured by Jarod Wilson's
commit c406700c for alx driver which get merged in 4.5. But there
are still some alx devices can't function well even with Jarod's
patch, while this patch could make them work fine. More details on
	https://bugzilla.kernel.org/show_bug.cgi?id=70761

The debug shows the issue is very likely to be related with the RX
DMA address, specifically 0x...f80, if RX buffer get 0x...f80 several
times, their will be RX overflow error and device will stop working.

For kernel 4.5.0 with Jarod's patch which works fine with my
AR8161/Lennov Y580, if I made some change to the
	__netdev_alloc_skb
		--&gt; __alloc_page_frag()
to make the allocated buffer can get an address with 0x...f80,
then the same error happens. If I make it to 0x...f40 or 0x....fc0,
everything will be still fine. So I tend to believe that the
0x..f80 address cause the silicon to behave abnormally.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70761
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: Jarod Wilson &lt;jarod@redhat.com&gt;
Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Tested-by: Ole Lukoie &lt;olelukoie@mail.ru&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>team: don't call netdev_change_features under team-&gt;lock</title>
<updated>2016-06-24T17:22:00+00:00</updated>
<author>
<name>Ivan Vecera</name>
<email>ivecera@redhat.com</email>
</author>
<published>2016-05-25T19:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=928cb370d372796dacd6324414b67929ead3251f'/>
<id>928cb370d372796dacd6324414b67929ead3251f</id>
<content type='text'>
[ Upstream commit f6988cb63a4e698d8a62a1d085d263d1fcc351ea ]

The team_device_event() notifier calls team_compute_features() to fix
vlan_features under team-&gt;lock to protect team-&gt;port_list. The problem is
that subsequent __team_compute_features() calls netdev_change_features()
to propagate vlan_features to upper vlan devices while team-&gt;lock is still
taken. This can lead to deadlock when NETIF_F_LRO is modified on lower
devices or team device itself.

Example:
The team0 as active backup with eth0 and eth1 NICs. Both eth0 &amp; eth1 are
LRO capable and LRO is enabled. Thus LRO is also enabled on team0.

The command 'ethtool -K team0 lro off' now hangs due to this deadlock:

dev_ethtool()
-&gt; ethtool_set_features()
 -&gt; __netdev_update_features(team)
  -&gt; netdev_sync_lower_features()
   -&gt; netdev_update_features(lower_1)
    -&gt; __netdev_update_features(lower_1)
    -&gt; netdev_features_change(lower_1)
     -&gt; call_netdevice_notifiers(...)
      -&gt; team_device_event(lower_1)
       -&gt; team_compute_features(team) [TAKES team-&gt;lock]
        -&gt; netdev_change_features(team)
         -&gt; __netdev_update_features(team)
          -&gt; netdev_sync_lower_features()
           -&gt; netdev_update_features(lower_2)
            -&gt; __netdev_update_features(lower_2)
            -&gt; netdev_features_change(lower_2)
             -&gt; call_netdevice_notifiers(...)
              -&gt; team_device_event(lower_2)
               -&gt; team_compute_features(team) [DEADLOCK]

The bug is present in team from the beginning but it appeared after the commit
fd867d5 (net/core: generic support for disabling netdev features down stack)
that adds synchronization of features with lower devices.

Fixes: fd867d5 (net/core: generic support for disabling netdev features down stack)
Cc: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: Jiri Pirko &lt;jiri@mellanox.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 f6988cb63a4e698d8a62a1d085d263d1fcc351ea ]

The team_device_event() notifier calls team_compute_features() to fix
vlan_features under team-&gt;lock to protect team-&gt;port_list. The problem is
that subsequent __team_compute_features() calls netdev_change_features()
to propagate vlan_features to upper vlan devices while team-&gt;lock is still
taken. This can lead to deadlock when NETIF_F_LRO is modified on lower
devices or team device itself.

Example:
The team0 as active backup with eth0 and eth1 NICs. Both eth0 &amp; eth1 are
LRO capable and LRO is enabled. Thus LRO is also enabled on team0.

The command 'ethtool -K team0 lro off' now hangs due to this deadlock:

dev_ethtool()
-&gt; ethtool_set_features()
 -&gt; __netdev_update_features(team)
  -&gt; netdev_sync_lower_features()
   -&gt; netdev_update_features(lower_1)
    -&gt; __netdev_update_features(lower_1)
    -&gt; netdev_features_change(lower_1)
     -&gt; call_netdevice_notifiers(...)
      -&gt; team_device_event(lower_1)
       -&gt; team_compute_features(team) [TAKES team-&gt;lock]
        -&gt; netdev_change_features(team)
         -&gt; __netdev_update_features(team)
          -&gt; netdev_sync_lower_features()
           -&gt; netdev_update_features(lower_2)
            -&gt; __netdev_update_features(lower_2)
            -&gt; netdev_features_change(lower_2)
             -&gt; call_netdevice_notifiers(...)
              -&gt; team_device_event(lower_2)
               -&gt; team_compute_features(team) [DEADLOCK]

The bug is present in team from the beginning but it appeared after the commit
fd867d5 (net/core: generic support for disabling netdev features down stack)
that adds synchronization of features with lower devices.

Fixes: fd867d5 (net/core: generic support for disabling netdev features down stack)
Cc: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: Jiri Pirko &lt;jiri@mellanox.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>sfc: on MC reset, clear PIO buffer linkage in TXQs</title>
<updated>2016-06-24T17:22:00+00:00</updated>
<author>
<name>Edward Cree</name>
<email>ecree@solarflare.com</email>
</author>
<published>2016-05-24T17:53:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f9f1165bf449960fe20e0995423e769221e80673'/>
<id>f9f1165bf449960fe20e0995423e769221e80673</id>
<content type='text'>
[ Upstream commit c0795bf64cba4d1b796fdc5b74b33772841ed1bb ]

Otherwise, if we fail to allocate new PIO buffers, our TXQs will try to
use the old ones, which aren't there any more.

Fixes: 183233bec810 "sfc: Allocate and link PIO buffers; map them with write-combining"
Signed-off-by: Edward Cree &lt;ecree@solarflare.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 c0795bf64cba4d1b796fdc5b74b33772841ed1bb ]

Otherwise, if we fail to allocate new PIO buffers, our TXQs will try to
use the old ones, which aren't there any more.

Fixes: 183233bec810 "sfc: Allocate and link PIO buffers; map them with write-combining"
Signed-off-by: Edward Cree &lt;ecree@solarflare.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>net: mvneta: Fix lacking spinlock initialization</title>
<updated>2016-06-24T17:22:00+00:00</updated>
<author>
<name>Gregory CLEMENT</name>
<email>gregory.clement@free-electrons.com</email>
</author>
<published>2016-05-24T16:03:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4360cde0fc41c5e2a5132e34b9c67c91b0b32348'/>
<id>4360cde0fc41c5e2a5132e34b9c67c91b0b32348</id>
<content type='text'>
[ Upstream commit 91c45e38b9478ff507e05f10151d64cd0d1aad7b ]

The spinlock used by the hwbm functions must be initialized by the
network driver. This commit fixes this lack and the following erros when
lockdep is enabled:

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
[&lt;c010ff80&gt;] (unwind_backtrace) from [&lt;c010bd08&gt;] (show_stack+0x10/0x14)
[&lt;c010bd08&gt;] (show_stack) from [&lt;c032913c&gt;] (dump_stack+0xb4/0xe0)
[&lt;c032913c&gt;] (dump_stack) from [&lt;c01670e4&gt;] (__lock_acquire+0x1f58/0x2060)
[&lt;c01670e4&gt;] (__lock_acquire) from [&lt;c0167dec&gt;] (lock_acquire+0xa4/0xd0)
[&lt;c0167dec&gt;] (lock_acquire) from [&lt;c06f6650&gt;] (_raw_spin_lock_irqsave+0x54/0x68)
[&lt;c06f6650&gt;] (_raw_spin_lock_irqsave) from [&lt;c058e830&gt;] (hwbm_pool_add+0x1c/0xdc)
[&lt;c058e830&gt;] (hwbm_pool_add) from [&lt;c043f4e8&gt;] (mvneta_bm_pool_use+0x338/0x490)
[&lt;c043f4e8&gt;] (mvneta_bm_pool_use) from [&lt;c0443198&gt;] (mvneta_probe+0x654/0x1284)
[&lt;c0443198&gt;] (mvneta_probe) from [&lt;c03b894c&gt;] (platform_drv_probe+0x4c/0xb0)
[&lt;c03b894c&gt;] (platform_drv_probe) from [&lt;c03b7158&gt;] (driver_probe_device+0x214/0x2c0)
[&lt;c03b7158&gt;] (driver_probe_device) from [&lt;c03b72c4&gt;] (__driver_attach+0xc0/0xc4)
[&lt;c03b72c4&gt;] (__driver_attach) from [&lt;c03b5440&gt;] (bus_for_each_dev+0x68/0x9c)
[&lt;c03b5440&gt;] (bus_for_each_dev) from [&lt;c03b65b8&gt;] (bus_add_driver+0x1a0/0x218)
[&lt;c03b65b8&gt;] (bus_add_driver) from [&lt;c03b79cc&gt;] (driver_register+0x78/0xf8)
[&lt;c03b79cc&gt;] (driver_register) from [&lt;c01018f4&gt;] (do_one_initcall+0x90/0x1dc)
[&lt;c01018f4&gt;] (do_one_initcall) from [&lt;c0900de4&gt;] (kernel_init_freeable+0x15c/0x1fc)
[&lt;c0900de4&gt;] (kernel_init_freeable) from [&lt;c06eed90&gt;] (kernel_init+0x8/0x114)
[&lt;c06eed90&gt;] (kernel_init) from [&lt;c0107910&gt;] (ret_from_fork+0x14/0x24)

Fixes: baa11ebc0c76 ("net: mvneta: Use the new hwbm framework")
Reported-by: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.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 91c45e38b9478ff507e05f10151d64cd0d1aad7b ]

The spinlock used by the hwbm functions must be initialized by the
network driver. This commit fixes this lack and the following erros when
lockdep is enabled:

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
[&lt;c010ff80&gt;] (unwind_backtrace) from [&lt;c010bd08&gt;] (show_stack+0x10/0x14)
[&lt;c010bd08&gt;] (show_stack) from [&lt;c032913c&gt;] (dump_stack+0xb4/0xe0)
[&lt;c032913c&gt;] (dump_stack) from [&lt;c01670e4&gt;] (__lock_acquire+0x1f58/0x2060)
[&lt;c01670e4&gt;] (__lock_acquire) from [&lt;c0167dec&gt;] (lock_acquire+0xa4/0xd0)
[&lt;c0167dec&gt;] (lock_acquire) from [&lt;c06f6650&gt;] (_raw_spin_lock_irqsave+0x54/0x68)
[&lt;c06f6650&gt;] (_raw_spin_lock_irqsave) from [&lt;c058e830&gt;] (hwbm_pool_add+0x1c/0xdc)
[&lt;c058e830&gt;] (hwbm_pool_add) from [&lt;c043f4e8&gt;] (mvneta_bm_pool_use+0x338/0x490)
[&lt;c043f4e8&gt;] (mvneta_bm_pool_use) from [&lt;c0443198&gt;] (mvneta_probe+0x654/0x1284)
[&lt;c0443198&gt;] (mvneta_probe) from [&lt;c03b894c&gt;] (platform_drv_probe+0x4c/0xb0)
[&lt;c03b894c&gt;] (platform_drv_probe) from [&lt;c03b7158&gt;] (driver_probe_device+0x214/0x2c0)
[&lt;c03b7158&gt;] (driver_probe_device) from [&lt;c03b72c4&gt;] (__driver_attach+0xc0/0xc4)
[&lt;c03b72c4&gt;] (__driver_attach) from [&lt;c03b5440&gt;] (bus_for_each_dev+0x68/0x9c)
[&lt;c03b5440&gt;] (bus_for_each_dev) from [&lt;c03b65b8&gt;] (bus_add_driver+0x1a0/0x218)
[&lt;c03b65b8&gt;] (bus_add_driver) from [&lt;c03b79cc&gt;] (driver_register+0x78/0xf8)
[&lt;c03b79cc&gt;] (driver_register) from [&lt;c01018f4&gt;] (do_one_initcall+0x90/0x1dc)
[&lt;c01018f4&gt;] (do_one_initcall) from [&lt;c0900de4&gt;] (kernel_init_freeable+0x15c/0x1fc)
[&lt;c0900de4&gt;] (kernel_init_freeable) from [&lt;c06eed90&gt;] (kernel_init+0x8/0x114)
[&lt;c06eed90&gt;] (kernel_init) from [&lt;c0107910&gt;] (ret_from_fork+0x14/0x24)

Fixes: baa11ebc0c76 ("net: mvneta: Use the new hwbm framework")
Reported-by: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.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>udp: prevent skbs lingering in tunnel socket queues</title>
<updated>2016-06-24T17:22:00+00:00</updated>
<author>
<name>Hannes Frederic Sowa</name>
<email>hannes@stressinduktion.org</email>
</author>
<published>2016-05-19T13:58:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e6b6748835be410676ccc727b9b7290228305e61'/>
<id>e6b6748835be410676ccc727b9b7290228305e61</id>
<content type='text'>
[ Upstream commit e5aed006be918af163eb397e45aa5ea6cefd5e01 ]

In case we find a socket with encapsulation enabled we should call
the encap_recv function even if just a udp header without payload is
available. The callbacks are responsible for correctly verifying and
dropping the packets.

Also, in case the header validation fails for geneve and vxlan we
shouldn't put the skb back into the socket queue, no one will pick
them up there.  Instead we can simply discard them in the respective
encap_recv functions.

Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&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 e5aed006be918af163eb397e45aa5ea6cefd5e01 ]

In case we find a socket with encapsulation enabled we should call
the encap_recv function even if just a udp header without payload is
available. The callbacks are responsible for correctly verifying and
dropping the packets.

Also, in case the header validation fails for geneve and vxlan we
shouldn't put the skb back into the socket queue, no one will pick
them up there.  Instead we can simply discard them in the respective
encap_recv functions.

Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&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>tuntap: correctly wake up process during uninit</title>
<updated>2016-06-24T17:21:59+00:00</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2016-05-19T05:36:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b8dddea3cdac95db0fd2057281db7acfa5efe562'/>
<id>b8dddea3cdac95db0fd2057281db7acfa5efe562</id>
<content type='text'>
[ Upstream commit addf8fc4acb1cf79492ac64966f07178793cb3d7 ]

We used to check dev-&gt;reg_state against NETREG_REGISTERED after each
time we are woke up. But after commit 9e641bdcfa4e ("net-tun:
restructure tun_do_read for better sleep/wakeup efficiency"), it uses
skb_recv_datagram() which does not check dev-&gt;reg_state. This will
result if we delete a tun/tap device after a process is blocked in the
reading. The device will wait for the reference count which was held
by that process for ever.

Fixes this by using RCV_SHUTDOWN which will be checked during
sk_recv_datagram() before trying to wake up the process during uninit.

Fixes: 9e641bdcfa4e ("net-tun: restructure tun_do_read for better
sleep/wakeup efficiency")
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Xi Wang &lt;xii@google.com&gt;
Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.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 addf8fc4acb1cf79492ac64966f07178793cb3d7 ]

We used to check dev-&gt;reg_state against NETREG_REGISTERED after each
time we are woke up. But after commit 9e641bdcfa4e ("net-tun:
restructure tun_do_read for better sleep/wakeup efficiency"), it uses
skb_recv_datagram() which does not check dev-&gt;reg_state. This will
result if we delete a tun/tap device after a process is blocked in the
reading. The device will wait for the reference count which was held
by that process for ever.

Fixes this by using RCV_SHUTDOWN which will be checked during
sk_recv_datagram() before trying to wake up the process during uninit.

Fixes: 9e641bdcfa4e ("net-tun: restructure tun_do_read for better
sleep/wakeup efficiency")
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Xi Wang &lt;xii@google.com&gt;
Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.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>macsec: fix netlink attribute for key id</title>
<updated>2016-06-24T17:21:59+00:00</updated>
<author>
<name>Sabrina Dubroca</name>
<email>sd@queasysnail.net</email>
</author>
<published>2016-05-18T11:34:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a70e1edf4c78b4f957ca800cea67b559a5e70a1d'/>
<id>a70e1edf4c78b4f957ca800cea67b559a5e70a1d</id>
<content type='text'>
[ Upstream commit 1968a0b8b6ca088bc029bd99ee696f1aca4090d0 ]

In my last commit I replaced MACSEC_SA_ATTR_KEYID by
MACSEC_SA_ATTR_KEY.

Fixes: 8acca6acebd0 ("macsec: key identifier is 128 bits, not 64")
Signed-off-by: Sabrina Dubroca &lt;sd@queasysnail.net&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 1968a0b8b6ca088bc029bd99ee696f1aca4090d0 ]

In my last commit I replaced MACSEC_SA_ATTR_KEYID by
MACSEC_SA_ATTR_KEY.

Fixes: 8acca6acebd0 ("macsec: key identifier is 128 bits, not 64")
Signed-off-by: Sabrina Dubroca &lt;sd@queasysnail.net&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>
