<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net, branch v4.9.96</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-netfront: Fix hang on device removal</title>
<updated>2018-04-24T07:34:10+00:00</updated>
<author>
<name>Jason Andryuk</name>
<email>jandryuk@gmail.com</email>
</author>
<published>2018-02-28T12:23:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9c78aeef4272a6ded4bbf500ae611050904daaa9'/>
<id>9c78aeef4272a6ded4bbf500ae611050904daaa9</id>
<content type='text'>
commit c2d2e6738a209f0f9dffa2dc8e7292fc45360d61 upstream.

A toolstack may delete the vif frontend and backend xenstore entries
while xen-netfront is in the removal code path.  In that case, the
checks for xenbus_read_driver_state would return XenbusStateUnknown, and
xennet_remove would hang indefinitely.  This hang prevents system
shutdown.

xennet_remove must be able to handle XenbusStateUnknown, and
netback_changed must also wake up the wake_queue for that state as well.

Fixes: 5b5971df3bc2 ("xen-netfront: remove warning when unloading module")

Signed-off-by: Jason Andryuk &lt;jandryuk@gmail.com&gt;
Cc: Eduardo Otubo &lt;otubo@redhat.com&gt;
Reviewed-by: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Signed-off-by: Juergen Gross &lt;jgross@suse.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 c2d2e6738a209f0f9dffa2dc8e7292fc45360d61 upstream.

A toolstack may delete the vif frontend and backend xenstore entries
while xen-netfront is in the removal code path.  In that case, the
checks for xenbus_read_driver_state would return XenbusStateUnknown, and
xennet_remove would hang indefinitely.  This hang prevents system
shutdown.

xennet_remove must be able to handle XenbusStateUnknown, and
netback_changed must also wake up the wake_queue for that state as well.

Fixes: 5b5971df3bc2 ("xen-netfront: remove warning when unloading module")

Signed-off-by: Jason Andryuk &lt;jandryuk@gmail.com&gt;
Cc: Eduardo Otubo &lt;otubo@redhat.com&gt;
Reviewed-by: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "net: phy: micrel: Restore led_mode and clk_sel on resume"</title>
<updated>2018-04-20T06:21:08+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2018-04-19T14:00:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c3ba64bb3a6c8a4bc9fd3fd4e3a882e66f1942fa'/>
<id>c3ba64bb3a6c8a4bc9fd3fd4e3a882e66f1942fa</id>
<content type='text'>
This reverts commit d7ba3c00047dfd88fe0360a2d27169b54c88c4f1 which was
commit 79e498a9c7da0737829ff864aae44df434105676 upstream.

Turns out it breaks things, so drop it.

Reported-by: Naresh Kamboju &lt;naresh.kamboju@linaro.org&gt;
Cc: Leonard Crestez &lt;leonard.crestez@nxp.com&gt;
Cc: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Cc: Dan Rue &lt;dan.rue@linaro.org&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>
This reverts commit d7ba3c00047dfd88fe0360a2d27169b54c88c4f1 which was
commit 79e498a9c7da0737829ff864aae44df434105676 upstream.

Turns out it breaks things, so drop it.

Reported-by: Naresh Kamboju &lt;naresh.kamboju@linaro.org&gt;
Cc: Leonard Crestez &lt;leonard.crestez@nxp.com&gt;
Cc: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Cc: Dan Rue &lt;dan.rue@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>lan78xx: Correctly indicate invalid OTP</title>
<updated>2018-04-20T06:21:08+00:00</updated>
<author>
<name>Phil Elwell</name>
<email>phil@raspberrypi.org</email>
</author>
<published>2018-04-11T09:59:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=82236561095d64471a3a38d3a8f1fd7d815df3dd'/>
<id>82236561095d64471a3a38d3a8f1fd7d815df3dd</id>
<content type='text'>
[ Upstream commit 4bfc33807a9a02764bdd1e42e794b3b401240f27 ]

lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP
content, but the value gets overwritten before it is returned and the
read goes ahead anyway. Make the read conditional as it should be
and preserve the error code.

Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
Signed-off-by: Phil Elwell &lt;phil@raspberrypi.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 4bfc33807a9a02764bdd1e42e794b3b401240f27 ]

lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP
content, but the value gets overwritten before it is returned and the
read goes ahead anyway. Make the read conditional as it should be
and preserve the error code.

Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
Signed-off-by: Phil Elwell &lt;phil@raspberrypi.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>slip: Check if rstate is initialized before uncompressing</title>
<updated>2018-04-20T06:21:07+00:00</updated>
<author>
<name>Tejaswi Tanikella</name>
<email>tejaswit@codeaurora.org</email>
</author>
<published>2018-04-11T11:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0eecffb5e95390e72c5ac0c6d184881c14ad1b3a'/>
<id>0eecffb5e95390e72c5ac0c6d184881c14ad1b3a</id>
<content type='text'>
[ Upstream commit 3f01ddb962dc506916c243f9524e8bef97119b77 ]

On receiving a packet the state index points to the rstate which must be
used to fill up IP and TCP headers. But if the state index points to a
rstate which is unitialized, i.e. filled with zeros, it gets stuck in an
infinite loop inside ip_fast_csum trying to compute the ip checsum of a
header with zero length.

89.666953:   &lt;2&gt; [&lt;ffffff9dd3e94d38&gt;] slhc_uncompress+0x464/0x468
89.666965:   &lt;2&gt; [&lt;ffffff9dd3e87d88&gt;] ppp_receive_nonmp_frame+0x3b4/0x65c
89.666978:   &lt;2&gt; [&lt;ffffff9dd3e89dd4&gt;] ppp_receive_frame+0x64/0x7e0
89.666991:   &lt;2&gt; [&lt;ffffff9dd3e8a708&gt;] ppp_input+0x104/0x198
89.667005:   &lt;2&gt; [&lt;ffffff9dd3e93868&gt;] pppopns_recv_core+0x238/0x370
89.667027:   &lt;2&gt; [&lt;ffffff9dd4428fc8&gt;] __sk_receive_skb+0xdc/0x250
89.667040:   &lt;2&gt; [&lt;ffffff9dd3e939e4&gt;] pppopns_recv+0x44/0x60
89.667053:   &lt;2&gt; [&lt;ffffff9dd4426848&gt;] __sock_queue_rcv_skb+0x16c/0x24c
89.667065:   &lt;2&gt; [&lt;ffffff9dd4426954&gt;] sock_queue_rcv_skb+0x2c/0x38
89.667085:   &lt;2&gt; [&lt;ffffff9dd44f7358&gt;] raw_rcv+0x124/0x154
89.667098:   &lt;2&gt; [&lt;ffffff9dd44f7568&gt;] raw_local_deliver+0x1e0/0x22c
89.667117:   &lt;2&gt; [&lt;ffffff9dd44c8ba0&gt;] ip_local_deliver_finish+0x70/0x24c
89.667131:   &lt;2&gt; [&lt;ffffff9dd44c92f4&gt;] ip_local_deliver+0x100/0x10c

./scripts/faddr2line vmlinux slhc_uncompress+0x464/0x468 output:
 ip_fast_csum at arch/arm64/include/asm/checksum.h:40
 (inlined by) slhc_uncompress at drivers/net/slip/slhc.c:615

Adding a variable to indicate if the current rstate is initialized. If
such a packet arrives, move to toss state.

Signed-off-by: Tejaswi Tanikella &lt;tejaswit@codeaurora.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 3f01ddb962dc506916c243f9524e8bef97119b77 ]

On receiving a packet the state index points to the rstate which must be
used to fill up IP and TCP headers. But if the state index points to a
rstate which is unitialized, i.e. filled with zeros, it gets stuck in an
infinite loop inside ip_fast_csum trying to compute the ip checsum of a
header with zero length.

89.666953:   &lt;2&gt; [&lt;ffffff9dd3e94d38&gt;] slhc_uncompress+0x464/0x468
89.666965:   &lt;2&gt; [&lt;ffffff9dd3e87d88&gt;] ppp_receive_nonmp_frame+0x3b4/0x65c
89.666978:   &lt;2&gt; [&lt;ffffff9dd3e89dd4&gt;] ppp_receive_frame+0x64/0x7e0
89.666991:   &lt;2&gt; [&lt;ffffff9dd3e8a708&gt;] ppp_input+0x104/0x198
89.667005:   &lt;2&gt; [&lt;ffffff9dd3e93868&gt;] pppopns_recv_core+0x238/0x370
89.667027:   &lt;2&gt; [&lt;ffffff9dd4428fc8&gt;] __sk_receive_skb+0xdc/0x250
89.667040:   &lt;2&gt; [&lt;ffffff9dd3e939e4&gt;] pppopns_recv+0x44/0x60
89.667053:   &lt;2&gt; [&lt;ffffff9dd4426848&gt;] __sock_queue_rcv_skb+0x16c/0x24c
89.667065:   &lt;2&gt; [&lt;ffffff9dd4426954&gt;] sock_queue_rcv_skb+0x2c/0x38
89.667085:   &lt;2&gt; [&lt;ffffff9dd44f7358&gt;] raw_rcv+0x124/0x154
89.667098:   &lt;2&gt; [&lt;ffffff9dd44f7568&gt;] raw_local_deliver+0x1e0/0x22c
89.667117:   &lt;2&gt; [&lt;ffffff9dd44c8ba0&gt;] ip_local_deliver_finish+0x70/0x24c
89.667131:   &lt;2&gt; [&lt;ffffff9dd44c92f4&gt;] ip_local_deliver+0x100/0x10c

./scripts/faddr2line vmlinux slhc_uncompress+0x464/0x468 output:
 ip_fast_csum at arch/arm64/include/asm/checksum.h:40
 (inlined by) slhc_uncompress at drivers/net/slip/slhc.c:615

Adding a variable to indicate if the current rstate is initialized. If
such a packet arrives, move to toss state.

Signed-off-by: Tejaswi Tanikella &lt;tejaswit@codeaurora.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>cdc_ether: flag the Cinterion AHS8 modem by gemalto as WWAN</title>
<updated>2018-04-20T06:21:07+00:00</updated>
<author>
<name>Bassem Boubaker</name>
<email>bassem.boubaker@actia.fr</email>
</author>
<published>2018-04-11T11:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6b61154b0680ebd3d82fd9415e9cd2c977bebcf2'/>
<id>6b61154b0680ebd3d82fd9415e9cd2c977bebcf2</id>
<content type='text'>
[ Upstream commit 53765341ee821c0a0f1dec41adc89c9096ad694c ]

The Cinterion AHS8 is a 3G device with one embedded WWAN interface
using cdc_ether as a driver.

The modem is controlled via AT commands through the exposed TTYs.

AT+CGDCONT write command can be used to activate or deactivate a WWAN
connection for a PDP context defined with the same command. UE
supports one WWAN adapter.

Signed-off-by: Bassem Boubaker &lt;bassem.boubaker@actia.fr&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.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 53765341ee821c0a0f1dec41adc89c9096ad694c ]

The Cinterion AHS8 is a 3G device with one embedded WWAN interface
using cdc_ether as a driver.

The modem is controlled via AT commands through the exposed TTYs.

AT+CGDCONT write command can be used to activate or deactivate a WWAN
connection for a PDP context defined with the same command. UE
supports one WWAN adapter.

Signed-off-by: Bassem Boubaker &lt;bassem.boubaker@actia.fr&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.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>rtl8187: Fix NULL pointer dereference in priv-&gt;conf_mutex</title>
<updated>2018-04-20T06:21:07+00:00</updated>
<author>
<name>Sudhir Sreedharan</name>
<email>ssreedharan@mvista.com</email>
</author>
<published>2018-02-15T07:22:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bcd7de03d68a6953d00453bc1380ee34d2f4e000'/>
<id>bcd7de03d68a6953d00453bc1380ee34d2f4e000</id>
<content type='text'>
commit 7972326a26b5bf8dc2adac575c4e03ee7e9d193a upstream.

This can be reproduced by bind/unbind the driver multiple times
in AM3517 board.

Analysis revealed that rtl8187_start() was invoked before probe
finishes(ie. before the mutex is initialized).

 INFO: trying to register non-static key.
 the code is fine but needs lockdep annotation.
 turning off the locking correctness validator.
 CPU: 0 PID: 821 Comm: wpa_supplicant Not tainted 4.9.80-dirty #250
 Hardware name: Generic AM3517 (Flattened Device Tree)
 [&lt;c010e0d8&gt;] (unwind_backtrace) from [&lt;c010beac&gt;] (show_stack+0x10/0x14)
 [&lt;c010beac&gt;] (show_stack) from [&lt;c017401c&gt;] (register_lock_class+0x4f4/0x55c)
 [&lt;c017401c&gt;] (register_lock_class) from [&lt;c0176fe0&gt;] (__lock_acquire+0x74/0x1938)
 [&lt;c0176fe0&gt;] (__lock_acquire) from [&lt;c0178cfc&gt;] (lock_acquire+0xfc/0x23c)
 [&lt;c0178cfc&gt;] (lock_acquire) from [&lt;c08aa2f8&gt;] (mutex_lock_nested+0x50/0x3b0)
 [&lt;c08aa2f8&gt;] (mutex_lock_nested) from [&lt;c05f5bf8&gt;] (rtl8187_start+0x2c/0xd54)
 [&lt;c05f5bf8&gt;] (rtl8187_start) from [&lt;c082dea0&gt;] (drv_start+0xa8/0x320)
 [&lt;c082dea0&gt;] (drv_start) from [&lt;c084d1d4&gt;] (ieee80211_do_open+0x2bc/0x8e4)
 [&lt;c084d1d4&gt;] (ieee80211_do_open) from [&lt;c069be94&gt;] (__dev_open+0xb8/0x120)
 [&lt;c069be94&gt;] (__dev_open) from [&lt;c069c11c&gt;] (__dev_change_flags+0x88/0x14c)
 [&lt;c069c11c&gt;] (__dev_change_flags) from [&lt;c069c1f8&gt;] (dev_change_flags+0x18/0x48)
 [&lt;c069c1f8&gt;] (dev_change_flags) from [&lt;c0710b08&gt;] (devinet_ioctl+0x738/0x840)
 [&lt;c0710b08&gt;] (devinet_ioctl) from [&lt;c067925c&gt;] (sock_ioctl+0x164/0x2f4)
 [&lt;c067925c&gt;] (sock_ioctl) from [&lt;c02883f8&gt;] (do_vfs_ioctl+0x8c/0x9d0)
 [&lt;c02883f8&gt;] (do_vfs_ioctl) from [&lt;c0288da8&gt;] (SyS_ioctl+0x6c/0x7c)
 [&lt;c0288da8&gt;] (SyS_ioctl) from [&lt;c0107760&gt;] (ret_fast_syscall+0x0/0x1c)
 Unable to handle kernel NULL pointer dereference at virtual address 00000000
 pgd = cd1ec000
 [00000000] *pgd=8d1de831, *pte=00000000, *ppte=00000000
 Internal error: Oops: 817 [#1] PREEMPT ARM
 Modules linked in:
 CPU: 0 PID: 821 Comm: wpa_supplicant Not tainted 4.9.80-dirty #250
 Hardware name: Generic AM3517 (Flattened Device Tree)
 task: ce73eec0 task.stack: cd1ea000
 PC is at mutex_lock_nested+0xe8/0x3b0
 LR is at mutex_lock_nested+0xd0/0x3b0

Cc: stable@vger.kernel.org
Signed-off-by: Sudhir Sreedharan &lt;ssreedharan@mvista.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&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 7972326a26b5bf8dc2adac575c4e03ee7e9d193a upstream.

This can be reproduced by bind/unbind the driver multiple times
in AM3517 board.

Analysis revealed that rtl8187_start() was invoked before probe
finishes(ie. before the mutex is initialized).

 INFO: trying to register non-static key.
 the code is fine but needs lockdep annotation.
 turning off the locking correctness validator.
 CPU: 0 PID: 821 Comm: wpa_supplicant Not tainted 4.9.80-dirty #250
 Hardware name: Generic AM3517 (Flattened Device Tree)
 [&lt;c010e0d8&gt;] (unwind_backtrace) from [&lt;c010beac&gt;] (show_stack+0x10/0x14)
 [&lt;c010beac&gt;] (show_stack) from [&lt;c017401c&gt;] (register_lock_class+0x4f4/0x55c)
 [&lt;c017401c&gt;] (register_lock_class) from [&lt;c0176fe0&gt;] (__lock_acquire+0x74/0x1938)
 [&lt;c0176fe0&gt;] (__lock_acquire) from [&lt;c0178cfc&gt;] (lock_acquire+0xfc/0x23c)
 [&lt;c0178cfc&gt;] (lock_acquire) from [&lt;c08aa2f8&gt;] (mutex_lock_nested+0x50/0x3b0)
 [&lt;c08aa2f8&gt;] (mutex_lock_nested) from [&lt;c05f5bf8&gt;] (rtl8187_start+0x2c/0xd54)
 [&lt;c05f5bf8&gt;] (rtl8187_start) from [&lt;c082dea0&gt;] (drv_start+0xa8/0x320)
 [&lt;c082dea0&gt;] (drv_start) from [&lt;c084d1d4&gt;] (ieee80211_do_open+0x2bc/0x8e4)
 [&lt;c084d1d4&gt;] (ieee80211_do_open) from [&lt;c069be94&gt;] (__dev_open+0xb8/0x120)
 [&lt;c069be94&gt;] (__dev_open) from [&lt;c069c11c&gt;] (__dev_change_flags+0x88/0x14c)
 [&lt;c069c11c&gt;] (__dev_change_flags) from [&lt;c069c1f8&gt;] (dev_change_flags+0x18/0x48)
 [&lt;c069c1f8&gt;] (dev_change_flags) from [&lt;c0710b08&gt;] (devinet_ioctl+0x738/0x840)
 [&lt;c0710b08&gt;] (devinet_ioctl) from [&lt;c067925c&gt;] (sock_ioctl+0x164/0x2f4)
 [&lt;c067925c&gt;] (sock_ioctl) from [&lt;c02883f8&gt;] (do_vfs_ioctl+0x8c/0x9d0)
 [&lt;c02883f8&gt;] (do_vfs_ioctl) from [&lt;c0288da8&gt;] (SyS_ioctl+0x6c/0x7c)
 [&lt;c0288da8&gt;] (SyS_ioctl) from [&lt;c0107760&gt;] (ret_fast_syscall+0x0/0x1c)
 Unable to handle kernel NULL pointer dereference at virtual address 00000000
 pgd = cd1ec000
 [00000000] *pgd=8d1de831, *pte=00000000, *ppte=00000000
 Internal error: Oops: 817 [#1] PREEMPT ARM
 Modules linked in:
 CPU: 0 PID: 821 Comm: wpa_supplicant Not tainted 4.9.80-dirty #250
 Hardware name: Generic AM3517 (Flattened Device Tree)
 task: ce73eec0 task.stack: cd1ea000
 PC is at mutex_lock_nested+0xe8/0x3b0
 LR is at mutex_lock_nested+0xd0/0x3b0

Cc: stable@vger.kernel.org
Signed-off-by: Sudhir Sreedharan &lt;ssreedharan@mvista.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>vrf: Fix use after free and double free in vrf_finish_output</title>
<updated>2018-04-13T17:48:37+00:00</updated>
<author>
<name>David Ahern</name>
<email>dsahern@gmail.com</email>
</author>
<published>2018-03-29T19:49:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=89cd658056d24f8fbde817a263674a5253d4f427'/>
<id>89cd658056d24f8fbde817a263674a5253d4f427</id>
<content type='text'>
commit 82dd0d2a9a76fc8fa2b18d80b987d455728bf83a upstream.

Miguel reported an skb use after free / double free in vrf_finish_output
when neigh_output returns an error. The vrf driver should return after
the call to neigh_output as it takes over the skb on error path as well.

Patch is a simplified version of Miguel's patch which was written for 4.9,
and updated to top of tree.

Fixes: 8f58336d3f78a ("net: Add ethernet header for pass through VRF device")
Signed-off-by: Miguel Fadon Perlines &lt;mfadon@teldat.com&gt;
Signed-off-by: David Ahern &lt;dsahern@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
[ backport to 4.4 and 4.9 dropped the sock_confirm_neigh and
  changed neigh_output to dst_neigh_output ]
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 82dd0d2a9a76fc8fa2b18d80b987d455728bf83a upstream.

Miguel reported an skb use after free / double free in vrf_finish_output
when neigh_output returns an error. The vrf driver should return after
the call to neigh_output as it takes over the skb on error path as well.

Patch is a simplified version of Miguel's patch which was written for 4.9,
and updated to top of tree.

Fixes: 8f58336d3f78a ("net: Add ethernet header for pass through VRF device")
Signed-off-by: Miguel Fadon Perlines &lt;mfadon@teldat.com&gt;
Signed-off-by: David Ahern &lt;dsahern@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
[ backport to 4.4 and 4.9 dropped the sock_confirm_neigh and
  changed neigh_output to dst_neigh_output ]
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>net/mlx4_core: Fix memory leak while delete slave's resources</title>
<updated>2018-04-13T17:48:36+00:00</updated>
<author>
<name>Moshe Shemesh</name>
<email>moshe@mellanox.com</email>
</author>
<published>2018-03-27T11:41:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3d392d2e3ed5b59b995da08a8deb3abb3e48b99b'/>
<id>3d392d2e3ed5b59b995da08a8deb3abb3e48b99b</id>
<content type='text'>
[ Upstream commit 461d5f1b59490ce0096dfda45e10038c122a7892 ]

mlx4_delete_all_resources_for_slave in resource tracker should free all
memory allocated for a slave.
While releasing memory of fs_rule, it misses releasing memory of
fs_rule-&gt;mirr_mbox.

Fixes: 78efed275117 ('net/mlx4_core: Support mirroring VF DMFS rules on both ports')
Signed-off-by: Moshe Shemesh &lt;moshe@mellanox.com&gt;
Signed-off-by: Tariq Toukan &lt;tariqt@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 461d5f1b59490ce0096dfda45e10038c122a7892 ]

mlx4_delete_all_resources_for_slave in resource tracker should free all
memory allocated for a slave.
While releasing memory of fs_rule, it misses releasing memory of
fs_rule-&gt;mirr_mbox.

Fixes: 78efed275117 ('net/mlx4_core: Support mirroring VF DMFS rules on both ports')
Signed-off-by: Moshe Shemesh &lt;moshe@mellanox.com&gt;
Signed-off-by: Tariq Toukan &lt;tariqt@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>team: move dev_mc_sync after master_upper_dev_link in team_port_add</title>
<updated>2018-04-13T17:48:36+00:00</updated>
<author>
<name>Xin Long</name>
<email>lucien.xin@gmail.com</email>
</author>
<published>2018-03-25T17:25:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e0cfa0d3e53b6e4f2fd4280b2f9474e6fb8e13f4'/>
<id>e0cfa0d3e53b6e4f2fd4280b2f9474e6fb8e13f4</id>
<content type='text'>
[ Upstream commit 982cf3b3999d39a2eaca0a65542df33c19b5d814 ]

The same fix as in 'bonding: move dev_mc_sync after master_upper_dev_link
in bond_enslave' is needed for team driver.

The panic can be reproduced easily:

  ip link add team1 type team
  ip link set team1 up
  ip link add link team1 vlan1 type vlan id 80
  ip link set vlan1 master team1

Fixes: cb41c997d444 ("team: team should sync the port's uc/mc addrs when add a port")
Signed-off-by: Xin Long &lt;lucien.xin@gmail.com&gt;
Acked-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 982cf3b3999d39a2eaca0a65542df33c19b5d814 ]

The same fix as in 'bonding: move dev_mc_sync after master_upper_dev_link
in bond_enslave' is needed for team driver.

The panic can be reproduced easily:

  ip link add team1 type team
  ip link set team1 up
  ip link add link team1 vlan1 type vlan id 80
  ip link set vlan1 master team1

Fixes: cb41c997d444 ("team: team should sync the port's uc/mc addrs when add a port")
Signed-off-by: Xin Long &lt;lucien.xin@gmail.com&gt;
Acked-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>net/mlx4_en: Fix mixed PFC and Global pause user control requests</title>
<updated>2018-04-13T17:48:36+00:00</updated>
<author>
<name>Eran Ben Elisha</name>
<email>eranbe@mellanox.com</email>
</author>
<published>2018-03-27T11:41:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b3e1c92e59911cd61672f8f735bc78f36ca7fef0'/>
<id>b3e1c92e59911cd61672f8f735bc78f36ca7fef0</id>
<content type='text'>
[ Upstream commit 6e8814ceb7e8f468659ef9253bd212c07ae19584 ]

Global pause and PFC configuration should be mutually exclusive (i.e. only
one of them at most can be set). However, once PFC was turned off,
driver automatically turned Global pause on. This is a bug.

Fix the driver behaviour to turn off PFC/Global once the user turned the
other on.

This also fixed a weird behaviour that at a current time, the profile
had both PFC and global pause configuration turned on, which is
Hardware-wise impossible and caused returning false positive indication
to query tools.

In addition, fix error code when setting global pause or PFC to change
metadata only upon successful change.

Also, removed useless debug print.

Fixes: af7d51852631 ("net/mlx4_en: Add DCB PFC support through CEE netlink commands")
Fixes: c27a02cd94d6 ("mlx4_en: Add driver for Mellanox ConnectX 10GbE NIC")
Signed-off-by: Eran Ben Elisha &lt;eranbe@mellanox.com&gt;
Signed-off-by: Tariq Toukan &lt;tariqt@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 6e8814ceb7e8f468659ef9253bd212c07ae19584 ]

Global pause and PFC configuration should be mutually exclusive (i.e. only
one of them at most can be set). However, once PFC was turned off,
driver automatically turned Global pause on. This is a bug.

Fix the driver behaviour to turn off PFC/Global once the user turned the
other on.

This also fixed a weird behaviour that at a current time, the profile
had both PFC and global pause configuration turned on, which is
Hardware-wise impossible and caused returning false positive indication
to query tools.

In addition, fix error code when setting global pause or PFC to change
metadata only upon successful change.

Also, removed useless debug print.

Fixes: af7d51852631 ("net/mlx4_en: Add DCB PFC support through CEE netlink commands")
Fixes: c27a02cd94d6 ("mlx4_en: Add driver for Mellanox ConnectX 10GbE NIC")
Signed-off-by: Eran Ben Elisha &lt;eranbe@mellanox.com&gt;
Signed-off-by: Tariq Toukan &lt;tariqt@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>
</feed>
