<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net, branch linux-4.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.15.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.15.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2018-04-19T06:55:13Z</updated>
<entry>
<title>rtl8187: Fix NULL pointer dereference in priv-&gt;conf_mutex</title>
<updated>2018-04-19T06:55:13Z</updated>
<author>
<name>Sudhir Sreedharan</name>
<email>ssreedharan@mvista.com</email>
</author>
<published>2018-02-15T07:22:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9def916c750d9f87527931b13e766f381a3a3811'/>
<id>urn:sha1:9def916c750d9f87527931b13e766f381a3a3811</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>
</entry>
<entry>
<title>ath9k: Protect queue draining by rcu_read_lock()</title>
<updated>2018-04-19T06:55:09Z</updated>
<author>
<name>Toke Høiland-Jørgensen</name>
<email>toke@toke.dk</email>
</author>
<published>2018-02-27T17:09:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=84ad0b9e121fe90ef568239e2c7b2683649474b9'/>
<id>urn:sha1:84ad0b9e121fe90ef568239e2c7b2683649474b9</id>
<content type='text'>
commit 182b1917109892ab9f26d66bfdcbc4ba6f0a0a65 upstream.

When ath9k was switched over to use the mac80211 intermediate queues,
node cleanup now drains the mac80211 queues. However, this call path is
not protected by rcu_read_lock() as it was previously entirely internal
to the driver which uses its own locking.

This leads to a possible rcu_dereference() without holding
rcu_read_lock(); but only if a station is cleaned up while having
packets queued on the TXQ. Fix this by adding the rcu_read_lock() to the
caller in ath9k.

Fixes: 50f08edf9809 ("ath9k: Switch to using mac80211 intermediate software queues.")
Cc: stable@vger.kernel.org
Reported-by: Ben Greear &lt;greearb@candelatech.com&gt;
Signed-off-by: Toke Høiland-Jørgensen &lt;toke@toke.dk&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>lan78xx: Correctly indicate invalid OTP</title>
<updated>2018-04-19T06:55:08Z</updated>
<author>
<name>Phil Elwell</name>
<email>phil@raspberrypi.org</email>
</author>
<published>2018-04-11T09:59:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=44f9357a588e434426a00bc6ff218864958247ee'/>
<id>urn:sha1:44f9357a588e434426a00bc6ff218864958247ee</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>
</entry>
<entry>
<title>slip: Check if rstate is initialized before uncompressing</title>
<updated>2018-04-19T06:55:07Z</updated>
<author>
<name>Tejaswi Tanikella</name>
<email>tejaswit@codeaurora.org</email>
</author>
<published>2018-04-11T11:04:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f76f647e536b0200089492d2f4f1a8b817bdbb12'/>
<id>urn:sha1:f76f647e536b0200089492d2f4f1a8b817bdbb12</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>
</entry>
<entry>
<title>cdc_ether: flag the Cinterion AHS8 modem by gemalto as WWAN</title>
<updated>2018-04-19T06:55:07Z</updated>
<author>
<name>Bassem Boubaker</name>
<email>bassem.boubaker@actia.fr</email>
</author>
<published>2018-04-11T11:15:53Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=14fb3c646653aaaa4880132cbb42dce660f520a6'/>
<id>urn:sha1:14fb3c646653aaaa4880132cbb42dce660f520a6</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>
</entry>
<entry>
<title>net/mlx4_core: Fix memory leak while delete slave's resources</title>
<updated>2018-04-12T10:31:21Z</updated>
<author>
<name>Moshe Shemesh</name>
<email>moshe@mellanox.com</email>
</author>
<published>2018-03-27T11:41:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9e6ee870ad5ae59432fa0d87bbbe04d12de0e501'/>
<id>urn:sha1:9e6ee870ad5ae59432fa0d87bbbe04d12de0e501</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>
</entry>
<entry>
<title>team: move dev_mc_sync after master_upper_dev_link in team_port_add</title>
<updated>2018-04-12T10:31:21Z</updated>
<author>
<name>Xin Long</name>
<email>lucien.xin@gmail.com</email>
</author>
<published>2018-03-25T17:25:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a17ab0a5c81cd646d7cc14e54dd97aa1205e3ab4'/>
<id>urn:sha1:a17ab0a5c81cd646d7cc14e54dd97aa1205e3ab4</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>
</entry>
<entry>
<title>net/mlx5e: Fix traffic being dropped on VF representor</title>
<updated>2018-04-12T10:31:20Z</updated>
<author>
<name>Roi Dayan</name>
<email>roid@mellanox.com</email>
</author>
<published>2018-02-28T10:56:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2030a5c0ab139208e33b7137ded115ff705dcfdb'/>
<id>urn:sha1:2030a5c0ab139208e33b7137ded115ff705dcfdb</id>
<content type='text'>
[ Upstream commit 4246f698dd58e3c6246fa919ef0b0a1d29a57e4a ]

Increase representor netdev RQ size to avoid dropped packets.
The current size (two) is just too small to keep up with
conventional slow path traffic patterns.
Also match the SQ size to the RQ size.

Fixes: cb67b832921c ("net/mlx5e: Introduce SRIOV VF representors")
Signed-off-by: Roi Dayan &lt;roid@mellanox.com&gt;
Reviewed-by: Paul Blakey &lt;paulb@mellanox.com&gt;
Reviewed-by: Or Gerlitz &lt;ogerlitz@mellanox.com&gt;
Signed-off-by: Saeed Mahameed &lt;saeedm@mellanox.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net/mlx4_en: Fix mixed PFC and Global pause user control requests</title>
<updated>2018-04-12T10:31:20Z</updated>
<author>
<name>Eran Ben Elisha</name>
<email>eranbe@mellanox.com</email>
</author>
<published>2018-03-27T11:41:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2b9260fb6f35d6865890ba75e90a77dbe9cf1a82'/>
<id>urn:sha1:2b9260fb6f35d6865890ba75e90a77dbe9cf1a82</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>
</entry>
<entry>
<title>net/mlx5e: Sync netdev vxlan ports at open</title>
<updated>2018-04-12T10:31:20Z</updated>
<author>
<name>Shahar Klein</name>
<email>shahark@mellanox.com</email>
</author>
<published>2018-03-20T12:44:40Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d6bda9865d4c49e92f8be5f70979f1f89848eb5d'/>
<id>urn:sha1:d6bda9865d4c49e92f8be5f70979f1f89848eb5d</id>
<content type='text'>
[ Upstream commit a117f73dc2430443f23e18367fa545981129c1a6 ]

When mlx5_core is loaded it is expected to sync ports
with all vxlan devices so it can support vxlan encap/decap.
This is done via udp_tunnel_get_rx_info(). Currently this
call is set in mlx5e_nic_enable() and if the netdev is not in
NETREG_REGISTERED state it will not be called.

Normally on load the netdev state is not NETREG_REGISTERED
so udp_tunnel_get_rx_info() will not be called.

Moving udp_tunnel_get_rx_info() to mlx5e_open() so
it will be called on netdev UP event and allow encap/decap.

Fixes: 610e89e05c3f ("net/mlx5e: Don't sync netdev state when not registered")
Signed-off-by: Shahar Klein &lt;shahark@mellanox.com&gt;
Reviewed-by: Roi Dayan &lt;roid@mellanox.com&gt;
Signed-off-by: Saeed Mahameed &lt;saeedm@mellanox.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
