All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called
@ 2016-04-20  6:30 Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: jme: fix suspend/resume on JMC260 Jiri Slaby
                   ` (35 more replies)
  0 siblings, 36 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Bernie Harris, David S . Miller, Jiri Slaby

From: Bernie Harris <bernie.harris@alliedtelesis.co.nz>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 5146d1f151122e868e594c7b45115d64825aee5f ]

IPCB may contain data from previous layers (in the observed case the
qdisc layer). In the observed scenario, the data was misinterpreted as
ip header options, which later caused the ihl to be set to an invalid
value (<5). This resulted in an infinite loop in the mips implementation
of ip_fast_csum.

This patch clears IPCB(skb)->opt before dst_link_failure can be called for
various types of tunnels. This change only applies to encapsulated ipv4
packets.

The code introduced in 11c21a30 which clears all of IPCB has been removed
to be consistent with these changes, and instead the opt field is cleared
unconditionally in ip_tunnel_xmit. The change in ip_tunnel_xmit applies to
SIT, GRE, and IPIP tunnels.

The relevant vti, l2tp, and pptp functions already contain similar code for
clearing the IPCB.

[js] backport to 3.12: no udp_tunnel there

Signed-off-by: Bernie Harris <bernie.harris@alliedtelesis.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/ipv4/ip_tunnel.c  | 3 ++-
 net/ipv6/ip6_gre.c    | 2 ++
 net/ipv6/ip6_tunnel.c | 2 ++
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
index 6913e2fdc12c..d47c7ea98324 100644
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@ -540,6 +540,8 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
 
 	inner_iph = (const struct iphdr *)skb_inner_network_header(skb);
 
+	memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
+
 	dst = tnl_params->daddr;
 	if (dst == 0) {
 		/* NBMA tunnel */
@@ -623,7 +625,6 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
 				tunnel->err_time + IPTUNNEL_ERR_TIMEO)) {
 			tunnel->err_count--;
 
-			memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
 			dst_link_failure(skb);
 		} else
 			tunnel->err_count = 0;
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c
index f719c51369fc..737af492ed75 100644
--- a/net/ipv6/ip6_gre.c
+++ b/net/ipv6/ip6_gre.c
@@ -787,6 +787,8 @@ static inline int ip6gre_xmit_ipv4(struct sk_buff *skb, struct net_device *dev)
 	__u32 mtu;
 	int err;
 
+	memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
+
 	if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT))
 		encap_limit = t->parms.encap_limit;
 
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index f8a70a120e75..8883795462fe 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -1063,6 +1063,8 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
 	__u32 mtu;
 	int err;
 
+	memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
+
 	if ((t->parms.proto != IPPROTO_IPIP && t->parms.proto != 0) ||
 	    !ip6_tnl_xmit_ctl(t))
 		return -1;
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: jme: fix suspend/resume on JMC260
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] sctp: lack the check for ports in sctp_v6_cmp_addr Jiri Slaby
                   ` (34 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Diego Viola, David S . Miller, Jiri Slaby

From: Diego Viola <diego.viola@gmail.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit ee50c130c82175eaa0820c96b6d3763928af2241 ]

The JMC260 network card fails to suspend/resume because the call to
jme_start_irq() was too early, moving the call to jme_start_irq() after
the call to jme_reset_link() makes it work.

Prior this change suspend/resume would fail unless /sys/power/pm_async=0
was explicitly specified.

Relevant bug report: https://bugzilla.kernel.org/show_bug.cgi?id=112351

Signed-off-by: Diego Viola <diego.viola@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/ethernet/jme.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c
index 23de82a9da82..2602fb324157 100644
--- a/drivers/net/ethernet/jme.c
+++ b/drivers/net/ethernet/jme.c
@@ -3289,13 +3289,14 @@ jme_resume(struct device *dev)
 		jme_reset_phy_processor(jme);
 	jme_phy_calibration(jme);
 	jme_phy_setEA(jme);
-	jme_start_irq(jme);
 	netif_device_attach(netdev);
 
 	atomic_inc(&jme->link_changing);
 
 	jme_reset_link(jme);
 
+	jme_start_irq(jme);
+
 	return 0;
 }
 
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] sctp: lack the check for ports in sctp_v6_cmp_addr
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: jme: fix suspend/resume on JMC260 Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add "D-Link DWM-221 B1" device id Jiri Slaby
                   ` (33 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Xin Long, David S . Miller, Jiri Slaby

From: Xin Long <lucien.xin@gmail.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 40b4f0fd74e46c017814618d67ec9127ff20f157 ]

As the member .cmp_addr of sctp_af_inet6, sctp_v6_cmp_addr should also check
the port of addresses, just like sctp_v4_cmp_addr, cause it's invoked by
sctp_cmp_addr_exact().

Now sctp_v6_cmp_addr just check the port when two addresses have different
family, and lack the port check for two ipv6 addresses. that will make
sctp_hash_cmp() cannot work well.

so fix it by adding ports comparison in sctp_v6_cmp_addr().

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/sctp/ipv6.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
index a4b6365464bb..2092fb263dd0 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
@@ -517,6 +517,8 @@ static int sctp_v6_cmp_addr(const union sctp_addr *addr1,
 		}
 		return 0;
 	}
+	if (addr1->v6.sin6_port != addr2->v6.sin6_port)
+		return 0;
 	if (!ipv6_addr_equal(&addr1->v6.sin6_addr, &addr2->v6.sin6_addr))
 		return 0;
 	/* If this is a linklocal address, compare the scope_id. */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] qmi_wwan: add "D-Link DWM-221 B1" device id
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: jme: fix suspend/resume on JMC260 Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] sctp: lack the check for ports in sctp_v6_cmp_addr Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add Netgear AirCard 341U Jiri Slaby
                   ` (32 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Bjørn Mork, David S . Miller, Jiri Slaby

From: Bjørn Mork <bjorn@mork.no>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit e84810c7b85a2d7897797b3ad3e879168a8e032a upstream.

Thomas reports:
"Windows:

00 diagnostics
01 modem
02 at-port
03 nmea
04 nic

Linux:

T:  Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2001 ProdID=7e19 Rev=02.32
S:  Manufacturer=Mobile Connect
S:  Product=Mobile Connect
S:  SerialNumber=0123456789ABCDEF
C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
I:  If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage"

Reported-by: Thomas Schäfer <tschaefer@t-online.de>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 0eb410b637de..6d9c216e5c24 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -729,6 +729,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x19d2, 0x1426, 2)},	/* ZTE MF91 */
 	{QMI_FIXED_INTF(0x19d2, 0x1428, 2)},	/* Telewell TW-LTE 4G v2 */
 	{QMI_FIXED_INTF(0x19d2, 0x2002, 4)},	/* ZTE (Vodafone) K3765-Z */
+	{QMI_FIXED_INTF(0x2001, 0x7e19, 4)},	/* D-Link DWM-221 B1 */
 	{QMI_FIXED_INTF(0x0f3d, 0x68a2, 8)},    /* Sierra Wireless MC7700 */
 	{QMI_FIXED_INTF(0x114f, 0x68a2, 8)},    /* Sierra Wireless MC7750 */
 	{QMI_FIXED_INTF(0x1199, 0x68a2, 8)},	/* Sierra Wireless MC7710 in QMI mode */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: qmi_wwan: add Netgear AirCard 341U
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (2 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add "D-Link DWM-221 B1" device id Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add additional Sierra Wireless QMI devices Jiri Slaby
                   ` (31 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Aleksander Morgado, David S . Miller, Jiri Slaby

From: Aleksander Morgado <aleksander@aleksander.es>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit 4324be1e0bab67194a263be263b7e48c176d43c7 upstream.

Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 6d9c216e5c24..775b5263b256 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -741,6 +741,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1199, 0x901f, 8)},    /* Sierra Wireless EM7355 */
 	{QMI_FIXED_INTF(0x1199, 0x9041, 8)},	/* Sierra Wireless MC7305/MC7355 */
 	{QMI_FIXED_INTF(0x1199, 0x9051, 8)},	/* Netgear AirCard 340U */
+	{QMI_FIXED_INTF(0x1199, 0x9055, 8)},	/* Netgear AirCard 341U */
 	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},
 	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
 	{QMI_FIXED_INTF(0x1bbb, 0x0203, 2)},	/* Alcatel L800MA */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: qmi_wwan: add additional Sierra Wireless QMI devices
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (3 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add Netgear AirCard 341U Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI Jiri Slaby
                   ` (30 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Aleksander Morgado, David S . Miller, Jiri Slaby

From: Aleksander Morgado <aleksander@aleksander.es>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit 9a793e71ebd6fc4a2649f33811589a9c4fe7f4e8 upstream.

A set of new VID/PIDs retrieved from the out-of-tree GobiNet/GobiSerial
Sierra Wireless drivers.

Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 775b5263b256..6788f7891a4f 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -741,8 +741,12 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1199, 0x901f, 8)},    /* Sierra Wireless EM7355 */
 	{QMI_FIXED_INTF(0x1199, 0x9041, 8)},	/* Sierra Wireless MC7305/MC7355 */
 	{QMI_FIXED_INTF(0x1199, 0x9051, 8)},	/* Netgear AirCard 340U */
+	{QMI_FIXED_INTF(0x1199, 0x9053, 8)},	/* Sierra Wireless Modem */
+	{QMI_FIXED_INTF(0x1199, 0x9054, 8)},	/* Sierra Wireless Modem */
 	{QMI_FIXED_INTF(0x1199, 0x9055, 8)},	/* Netgear AirCard 341U */
+	{QMI_FIXED_INTF(0x1199, 0x9056, 8)},	/* Sierra Wireless Modem */
 	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},
+	{QMI_FIXED_INTF(0x1199, 0x9061, 8)},	/* Sierra Wireless Modem */
 	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
 	{QMI_FIXED_INTF(0x1bbb, 0x0203, 2)},	/* Alcatel L800MA */
 	{QMI_FIXED_INTF(0x2357, 0x0201, 4)},	/* TP-LINK HSUPA Modem MA180 */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (4 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add additional Sierra Wireless QMI devices Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add the second QMI/network interface for Sierra Wireless MC7305/MC7355 Jiri Slaby
                   ` (29 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Aleksander Morgado, David S . Miller, Jiri Slaby

From: Aleksander Morgado <aleksander@aleksander.es>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit fc0d6e9cd0aefbe5de5ebafb1805f2c59539725b upstream.

This interface is unusable, as the cdc-wdm character device doesn't reply to
any QMI command. Also, the out-of-tree Sierra Wireless GobiNet driver fully
skips it.

Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 6788f7891a4f..04b857b91185 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -736,7 +736,6 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1199, 0x68a2, 19)},	/* Sierra Wireless MC7710 in QMI mode */
 	{QMI_FIXED_INTF(0x1199, 0x68c0, 8)},	/* Sierra Wireless MC73xx */
 	{QMI_FIXED_INTF(0x1199, 0x68c0, 10)},	/* Sierra Wireless MC73xx */
-	{QMI_FIXED_INTF(0x1199, 0x68c0, 11)},	/* Sierra Wireless MC73xx */
 	{QMI_FIXED_INTF(0x1199, 0x901c, 8)},    /* Sierra Wireless EM7700 */
 	{QMI_FIXED_INTF(0x1199, 0x901f, 8)},    /* Sierra Wireless EM7355 */
 	{QMI_FIXED_INTF(0x1199, 0x9041, 8)},	/* Sierra Wireless MC7305/MC7355 */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] qmi_wwan: add the second QMI/network interface for Sierra Wireless MC7305/MC7355
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (5 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: Add support for Dell Wireless 5809e 4G Modem Jiri Slaby
                   ` (28 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Reinhard Speyerer, David S . Miller, Jiri Slaby

From: Reinhard Speyerer <rspmn@arcor.de>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit e3426ca7bc2957ee072f61360c2b81b4adb629ad upstream.

Sierra Wireless MC7305/MC7355 with USB ID 1199:9041 also provide a
second QMI/network interface like the MC73xx with USB ID 1199:68c0 on
USB interface #10 when used in the appropriate USB configuration.
Add the corresponding QMI_FIXED_INTF entry to the qmi_wwan driver.

Please note that the second QMI/network interface is not working for
early MC73xx firmware versions like 01.08.x as the device does not
respond to QMI messages on the second /dev/cdc-wdm port.

Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 04b857b91185..6a7767e1ff39 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -739,6 +739,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1199, 0x901c, 8)},    /* Sierra Wireless EM7700 */
 	{QMI_FIXED_INTF(0x1199, 0x901f, 8)},    /* Sierra Wireless EM7355 */
 	{QMI_FIXED_INTF(0x1199, 0x9041, 8)},	/* Sierra Wireless MC7305/MC7355 */
+	{QMI_FIXED_INTF(0x1199, 0x9041, 10)},	/* Sierra Wireless MC7305/MC7355 */
 	{QMI_FIXED_INTF(0x1199, 0x9051, 8)},	/* Netgear AirCard 340U */
 	{QMI_FIXED_INTF(0x1199, 0x9053, 8)},	/* Sierra Wireless Modem */
 	{QMI_FIXED_INTF(0x1199, 0x9054, 8)},	/* Sierra Wireless Modem */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] qmi_wwan: Add support for Dell Wireless 5809e 4G Modem
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (6 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add the second QMI/network interface for Sierra Wireless MC7305/MC7355 Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module Jiri Slaby
                   ` (27 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Pieter Hollants, David S . Miller, Jiri Slaby

From: Pieter Hollants <pieter@hollants.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit 2070c48cf2b78af89ba529c00992eaaa18df8ef7 upstream.

Added the USB IDs 0x413c:0x81b1 for the "Dell Wireless 5809e Gobi(TM) 4G
LTE Mobile Broadband Card", a Dell-branded Sierra Wireless EM7305 LTE
card in M.2 form factor, used eg. in Dell's Latitude E7540 Notebook
series.

Signed-off-by: Pieter Hollants <pieter@hollants.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 6a7767e1ff39..be1e3f2ebd7e 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -768,6 +768,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x413c, 0x81a4, 8)},	/* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81a8, 8)},	/* Dell Wireless 5808 Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81a9, 8)},	/* Dell Wireless 5808e Gobi(TM) 4G LTE Mobile Broadband Card */
+	{QMI_FIXED_INTF(0x413c, 0x81b1, 8)},	/* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card */
 
 	/* 4. Gobi 1000 devices */
 	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: qmi_wwan: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (7 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: Add support for Dell Wireless 5809e 4G Modem Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Sierra Wireless MC73xx -> Sierra Wireless MC7304/MC7354 Jiri Slaby
                   ` (26 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: David Ward, David S . Miller, Jiri Slaby

From: David Ward <david.ward@ll.mit.edu>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit a8079092c1bbf9aec3756b35256c7816b8845af7 upstream.

This is an HP-branded Sierra Wireless EM7355:
https://bugzilla.redhat.com/show_bug.cgi?id=1223646#c2

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index be1e3f2ebd7e..f343bfca1068 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -769,6 +769,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x413c, 0x81a8, 8)},	/* Dell Wireless 5808 Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81a9, 8)},	/* Dell Wireless 5808e Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81b1, 8)},	/* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card */
+	{QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)},	/* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */
 
 	/* 4. Gobi 1000 devices */
 	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: qmi_wwan: Sierra Wireless MC73xx -> Sierra Wireless MC7304/MC7354
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (8 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless MC74xx/EM74xx Jiri Slaby
                   ` (25 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: David Ward, Bjørn Mork, David S . Miller, Jiri Slaby

From: David Ward <david.ward@ll.mit.edu>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit e704059272aae2aaa5e5ce7a76e4c27c492e947e upstream.

Other Sierra Wireless MC73xx devices exist, with different USB IDs.

Cc: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index f343bfca1068..6408090bc169 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -734,8 +734,8 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x114f, 0x68a2, 8)},    /* Sierra Wireless MC7750 */
 	{QMI_FIXED_INTF(0x1199, 0x68a2, 8)},	/* Sierra Wireless MC7710 in QMI mode */
 	{QMI_FIXED_INTF(0x1199, 0x68a2, 19)},	/* Sierra Wireless MC7710 in QMI mode */
-	{QMI_FIXED_INTF(0x1199, 0x68c0, 8)},	/* Sierra Wireless MC73xx */
-	{QMI_FIXED_INTF(0x1199, 0x68c0, 10)},	/* Sierra Wireless MC73xx */
+	{QMI_FIXED_INTF(0x1199, 0x68c0, 8)},	/* Sierra Wireless MC7304/MC7354 */
+	{QMI_FIXED_INTF(0x1199, 0x68c0, 10)},	/* Sierra Wireless MC7304/MC7354 */
 	{QMI_FIXED_INTF(0x1199, 0x901c, 8)},    /* Sierra Wireless EM7700 */
 	{QMI_FIXED_INTF(0x1199, 0x901f, 8)},    /* Sierra Wireless EM7355 */
 	{QMI_FIXED_INTF(0x1199, 0x9041, 8)},	/* Sierra Wireless MC7305/MC7355 */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless MC74xx/EM74xx
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (9 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Sierra Wireless MC73xx -> Sierra Wireless MC7304/MC7354 Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20 10:14   ` Bjørn Mork
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: remove 1199:9070 device id Jiri Slaby
                   ` (24 subsequent siblings)
  35 siblings, 1 reply; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Bjørn Mork, David S . Miller, Jiri Slaby

From: Bjørn Mork <bjorn@mork.no>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit 0db65fcfcded76fe4f74e3ca9f4e2baf67b683ef upstream.

New device IDs shamelessly lifted from the vendor driver.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 6408090bc169..a516b7ee02bf 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -747,6 +747,10 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1199, 0x9056, 8)},	/* Sierra Wireless Modem */
 	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},
 	{QMI_FIXED_INTF(0x1199, 0x9061, 8)},	/* Sierra Wireless Modem */
+	{QMI_FIXED_INTF(0x1199, 0x9070, 8)},	/* Sierra Wireless MC74xx/EM74xx */
+	{QMI_FIXED_INTF(0x1199, 0x9070, 10)},	/* Sierra Wireless MC74xx/EM74xx */
+	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx/EM74xx */
+	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx/EM74xx */
 	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
 	{QMI_FIXED_INTF(0x1bbb, 0x0203, 2)},	/* Alcatel L800MA */
 	{QMI_FIXED_INTF(0x2357, 0x0201, 4)},	/* TP-LINK HSUPA Modem MA180 */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: qmi_wwan: remove 1199:9070 device id
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (10 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless MC74xx/EM74xx Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Add WeTelecom-WPD600N Jiri Slaby
                   ` (23 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Bjørn Mork, David S . Miller, Jiri Slaby

From: Bjørn Mork <bjorn@mork.no>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit 544c8f6507303e921979ac99f46f00a88b42b6e8 upstream.

This turned out to be a bootloader device ID.  No need for
that in this driver.  It will only provide a single serial
function.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index a516b7ee02bf..abff536ebcf2 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -747,8 +747,6 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1199, 0x9056, 8)},	/* Sierra Wireless Modem */
 	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},
 	{QMI_FIXED_INTF(0x1199, 0x9061, 8)},	/* Sierra Wireless Modem */
-	{QMI_FIXED_INTF(0x1199, 0x9070, 8)},	/* Sierra Wireless MC74xx/EM74xx */
-	{QMI_FIXED_INTF(0x1199, 0x9070, 10)},	/* Sierra Wireless MC74xx/EM74xx */
 	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx/EM74xx */
 	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx/EM74xx */
 	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: qmi_wwan: Add WeTelecom-WPD600N
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (11 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: remove 1199:9070 device id Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Add SIMCom 7230E Jiri Slaby
                   ` (22 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Kristian Evensen, Bjørn Mork, David S . Miller, Jiri Slaby

From: Kristian Evensen <kristian.evensen@gmail.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit e439bd4a4fdeb29488f48f14845ad35607e6302c upstream.

The WeTelecom-WPD600N is an LTE module that, in addition to supporting most
"normal" bands, also supports LTE over 450MHz. Manual testing showed that
only interface number three replies to QMI messages.

Cc: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index abff536ebcf2..4c7ef4f48536 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -772,6 +772,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x413c, 0x81a9, 8)},	/* Dell Wireless 5808e Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81b1, 8)},	/* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)},	/* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */
+	{QMI_FIXED_INTF(0x22de, 0x9061, 3)},	/* WeTelecom WPD-600N */
 
 	/* 4. Gobi 1000 devices */
 	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: qmi_wwan: Add SIMCom 7230E
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (12 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Add WeTelecom-WPD600N Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] Add Dell Wireless 5809e Gobi 4G HSPA+ Mobile Broadband Card (rev3) to qmi_wwan Jiri Slaby
                   ` (21 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Kristian Evensen, Bjørn Mork, David S . Miller, Jiri Slaby

From: Kristian Evensen <kristian.evensen@gmail.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit 18715b261541f35ccede9b8686ee3ebaac697d38 upstream.

SIMCom 7230E is a QMI LTE module with support for most "normal" bands.
Manual testing has showed that only interface five works.

Cc: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 4c7ef4f48536..0e6f3fcae062 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -773,6 +773,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x413c, 0x81b1, 8)},	/* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)},	/* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */
 	{QMI_FIXED_INTF(0x22de, 0x9061, 3)},	/* WeTelecom WPD-600N */
+	{QMI_FIXED_INTF(0x1e0e, 0x9001, 5)},	/* SIMCom 7230E */
 
 	/* 4. Gobi 1000 devices */
 	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] Add Dell Wireless 5809e Gobi 4G HSPA+ Mobile Broadband Card (rev3) to qmi_wwan
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (13 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Add SIMCom 7230E Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless EM74xx device ID Jiri Slaby
                   ` (20 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Patrik Halfar, David S . Miller, Jiri Slaby

From: Patrik Halfar <patrik_halfar@halfarit.cz>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit fb5eb24cdd5cdb83be77d3e4b2f16e92e06bd9e9 upstream.

New revison of Dell Wireless 5809e Gobi 4G HSPA+ Mobile Broadband Card has new idProduct

Bus 002 Device 006: ID 413c:81b3 Dell Computer Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x413c Dell Computer Corp.
  idProduct          0x81b3
  bcdDevice            0.06
  iManufacturer           1 Sierra Wireless, Incorporated
  iProduct                2 Dell Wireless 5809e Gobi™ 4G HSPA+ Mobile Broadband Card
  iSerial                 3
  bNumConfigurations      2

Signed-off-by: Patrik Halfar <patrik_halfar@halfarit.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 0e6f3fcae062..c00fa6546c95 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -771,6 +771,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x413c, 0x81a8, 8)},	/* Dell Wireless 5808 Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81a9, 8)},	/* Dell Wireless 5808e Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81b1, 8)},	/* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card */
+	{QMI_FIXED_INTF(0x413c, 0x81b3, 8)},	/* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card (rev3) */
 	{QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)},	/* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */
 	{QMI_FIXED_INTF(0x22de, 0x9061, 3)},	/* WeTelecom WPD-600N */
 	{QMI_FIXED_INTF(0x1e0e, 0x9001, 5)},	/* SIMCom 7230E */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless EM74xx device ID
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (14 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] Add Dell Wireless 5809e Gobi 4G HSPA+ Mobile Broadband Card (rev3) to qmi_wwan Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20 10:16   ` Bjørn Mork
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: Added support for Gemalto's Cinterion PHxx WWAN interface Jiri Slaby
                   ` (19 subsequent siblings)
  35 siblings, 1 reply; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Bjørn Mork, David S . Miller, Jiri Slaby

From: Bjørn Mork <bjorn@mork.no>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit bf13c94ccb33c3182efc92ce4989506a0f541243 upstream.

The MC74xx and EM74xx modules use different IDs by default, according
to the Lenovo EM7455 driver for Windows.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index c00fa6546c95..9ec45ee06dc7 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -747,8 +747,10 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1199, 0x9056, 8)},	/* Sierra Wireless Modem */
 	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},
 	{QMI_FIXED_INTF(0x1199, 0x9061, 8)},	/* Sierra Wireless Modem */
-	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx/EM74xx */
-	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx/EM74xx */
+	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx */
+	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx */
+	{QMI_FIXED_INTF(0x1199, 0x9079, 8)},	/* Sierra Wireless EM74xx */
+	{QMI_FIXED_INTF(0x1199, 0x9079, 10)},	/* Sierra Wireless EM74xx */
 	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
 	{QMI_FIXED_INTF(0x1bbb, 0x0203, 2)},	/* Alcatel L800MA */
 	{QMI_FIXED_INTF(0x2357, 0x0201, 4)},	/* TP-LINK HSUPA Modem MA180 */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] qmi_wwan: Added support for Gemalto's Cinterion PHxx WWAN interface
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (15 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless EM74xx device ID Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan/cdc_ether: move Novatel E371 (1410:9011) to qmi_wwan Jiri Slaby
                   ` (18 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable
  Cc: Schemmel Hans-Christoph, Hans-Christoph Schemmel,
	David S . Miller, Jiri Slaby

From: Schemmel Hans-Christoph <Hans-Christoph.Schemmel@gemalto.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit bd9e33508c5e1eb5d807d11d7bfc52125fcdb04e upstream.

Added support for Gemalto's Cinterion PHxx WWAN interfaces
by adding QMI_FIXED_INTF with Cinterion's VID and PID.

PHxx can have:
2 RmNet Interfaces (PID 0x0082) or
1 RmNet + 1 USB Audio interface (PID 0x0083).

Signed-off-by: Hans-Christoph Schemmel <hans-christoph.schemmel@gemalto.com>
Acked-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/qmi_wwan.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 9ec45ee06dc7..221dd71a6a88 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -767,6 +767,9 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x0b3c, 0xc00b, 4)},	/* Olivetti Olicard 500 */
 	{QMI_FIXED_INTF(0x1e2d, 0x0060, 4)},	/* Cinterion PLxx */
 	{QMI_FIXED_INTF(0x1e2d, 0x0053, 4)},	/* Cinterion PHxx,PXxx */
+	{QMI_FIXED_INTF(0x1e2d, 0x0082, 4)},	/* Cinterion PHxx,PXxx (2 RmNet) */
+	{QMI_FIXED_INTF(0x1e2d, 0x0082, 5)},	/* Cinterion PHxx,PXxx (2 RmNet) */
+	{QMI_FIXED_INTF(0x1e2d, 0x0083, 4)},	/* Cinterion PHxx,PXxx (1 RmNet + USB Audio)*/
 	{QMI_FIXED_INTF(0x413c, 0x81a2, 8)},	/* Dell Wireless 5806 Gobi(TM) 4G LTE Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81a3, 8)},	/* Dell Wireless 5570 HSPA+ (42Mbps) Mobile Broadband Card */
 	{QMI_FIXED_INTF(0x413c, 0x81a4, 8)},	/* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] qmi_wwan/cdc_ether: move Novatel E371 (1410:9011) to qmi_wwan
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (16 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: Added support for Gemalto's Cinterion PHxx WWAN interface Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] ipv6: re-enable fragment header matching in ipv6_find_hdr Jiri Slaby
                   ` (17 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Yegor Yefremov, David S . Miller, Jiri Slaby

From: Yegor Yefremov <yegorslists@googlemail.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

commit 7b5939ba591e9affbe4f336935b0985fd250a2b3 upstream.

This device provides QMI and ethernet functionality via a standard CDC
ethernet descriptor.  But when driven by cdc_ether, the QMI
functionality is unavailable because only cdc_ether can claim the USB
interface. Thus blacklist the device in cdc_ether and add its IDs to
qmi_wwan, which enables both QMI and ethernet simultaneously.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/cdc_ether.c | 7 +++++++
 drivers/net/usb/qmi_wwan.c  | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
index 2023f3ea891e..756bb3a8e02c 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
@@ -626,6 +626,13 @@ static const struct usb_device_id	products[] = {
 	.driver_info = 0,
 },
 
+/* Novatel Expedite E371 - handled by qmi_wwan */
+{
+	USB_DEVICE_AND_INTERFACE_INFO(NOVATEL_VENDOR_ID, 0x9011, USB_CLASS_COMM,
+			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
+	.driver_info = 0,
+},
+
 /* AnyDATA ADU960S - handled by qmi_wwan */
 {
 	USB_DEVICE_AND_INTERFACE_INFO(0x16d5, 0x650a, USB_CLASS_COMM,
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 221dd71a6a88..3e146ee2f2a9 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -487,6 +487,13 @@ static const struct usb_device_id products[] = {
 		                              USB_CDC_PROTO_NONE),
 		.driver_info        = (unsigned long)&qmi_wwan_info,
 	},
+	{	/* Novatel Expedite E371 */
+		USB_DEVICE_AND_INTERFACE_INFO(0x1410, 0x9011,
+		                              USB_CLASS_COMM,
+		                              USB_CDC_SUBCLASS_ETHERNET,
+		                              USB_CDC_PROTO_NONE),
+		.driver_info        = (unsigned long)&qmi_wwan_info,
+	},
 	{	/* Dell Wireless 5800 (Novatel E362) */
 		USB_DEVICE_AND_INTERFACE_INFO(0x413C, 0x8195,
 					      USB_CLASS_COMM,
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] ipv6: re-enable fragment header matching in ipv6_find_hdr
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (17 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan/cdc_ether: move Novatel E371 (1410:9011) to qmi_wwan Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] cdc_ncm: toggle altsetting to force reset before setup Jiri Slaby
                   ` (16 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Florian Westphal, David S . Miller, Jiri Slaby

From: Florian Westphal <fw@strlen.de>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 5d150a985520bbe3cb2aa1ceef24a7e32f20c15f ]

When ipv6_find_hdr is used to find a fragment header
(caller specifies target NEXTHDR_FRAGMENT) we erronously return
-ENOENT for all fragments with nonzero offset.

Before commit 9195bb8e381d, when target was specified, we did not
enter the exthdr walk loop as nexthdr == target so this used to work.

Now we do (so we can skip empty route headers). When we then stumble upon
a frag with nonzero frag_off we must return -ENOENT ("header not found")
only if the caller did not specifically request NEXTHDR_FRAGMENT.

This allows nfables exthdr expression to match ipv6 fragments, e.g. via

nft add rule ip6 filter input frag frag-off gt 0

Fixes: 9195bb8e381d ("ipv6: improve ipv6_find_hdr() to skip empty routing headers")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/ipv6/exthdrs_core.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/net/ipv6/exthdrs_core.c b/net/ipv6/exthdrs_core.c
index 8af3eb57f438..c7c8f71d0d48 100644
--- a/net/ipv6/exthdrs_core.c
+++ b/net/ipv6/exthdrs_core.c
@@ -257,7 +257,11 @@ int ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset,
 						*fragoff = _frag_off;
 					return hp->nexthdr;
 				}
-				return -ENOENT;
+				if (!found)
+					return -ENOENT;
+				if (fragoff)
+					*fragoff = _frag_off;
+				break;
 			}
 			hdrlen = 8;
 		} else if (nexthdr == NEXTHDR_AUTH) {
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] cdc_ncm: toggle altsetting to force reset before setup
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (18 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] ipv6: re-enable fragment header matching in ipv6_find_hdr Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] usbnet: cleanup after bind() in probe() Jiri Slaby
                   ` (15 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Bjørn Mork, David S . Miller, Jiri Slaby

From: Bjørn Mork <bjorn@mork.no>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 48906f62c96cc2cd35753e59310cb70eb08cc6a5 ]

Some devices will silently fail setup unless they are reset first.
This is necessary even if the data interface is already in
altsetting 0, which it will be when the device is probed for the
first time.  Briefly toggling the altsetting forces a function
reset regardless of the initial state.

This fixes a setup problem observed on a number of Huawei devices,
appearing to operate in NTB-32 mode even if we explicitly set them
to NTB-16 mode.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/cdc_ncm.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
index 43afde8f48d2..74581cbcafa7 100644
--- a/drivers/net/usb/cdc_ncm.c
+++ b/drivers/net/usb/cdc_ncm.c
@@ -464,7 +464,11 @@ advance:
 
 	iface_no = ctx->data->cur_altsetting->desc.bInterfaceNumber;
 
-	/* reset data interface */
+	/* Reset data interface. Some devices will not reset properly
+	 * unless they are configured first.  Toggle the altsetting to
+	 * force a reset
+	 */
+	usb_set_interface(dev->udev, iface_no, data_altsetting);
 	temp = usb_set_interface(dev->udev, iface_no, 0);
 	if (temp)
 		goto error2;
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] usbnet: cleanup after bind() in probe()
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (19 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] cdc_ncm: toggle altsetting to force reset before setup Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] udp6: fix UDP/IPv6 encap resubmit path Jiri Slaby
                   ` (14 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Oliver Neukum, Oliver Neukum, David S . Miller, Jiri Slaby

From: Oliver Neukum <oneukum@suse.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 1666984c8625b3db19a9abc298931d35ab7bc64b ]

In case bind() works, but a later error forces bailing
in probe() in error cases work and a timer may be scheduled.
They must be killed. This fixes an error case related to
the double free reported in
http://www.spinics.net/lists/netdev/msg367669.html
and needs to go on top of Linus' fix to cdc-ncm.

Signed-off-by: Oliver Neukum <ONeukum@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/usb/usbnet.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 3b7b7b2eba1b..4abd4579ba0c 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -1719,6 +1719,13 @@ out3:
 	if (info->unbind)
 		info->unbind (dev, udev);
 out1:
+	/* subdrivers must undo all they did in bind() if they
+	 * fail it, but we may fail later and a deferred kevent
+	 * may trigger an error resubmitting itself and, worse,
+	 * schedule a timer. So we kill it all just in case.
+	 */
+	cancel_work_sync(&dev->kevent);
+	del_timer_sync(&dev->delay);
 	free_netdev(net);
 out:
 	return status;
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] udp6: fix UDP/IPv6 encap resubmit path
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (20 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] usbnet: cleanup after bind() in probe() Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] sh_eth: fix NULL pointer dereference in sh_eth_ring_format() Jiri Slaby
                   ` (13 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Bill Sommerfeld, David S . Miller, Jiri Slaby

From: Bill Sommerfeld <wsommerfeld@google.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 59dca1d8a6725a121dae6c452de0b2611d5865dc ]

IPv4 interprets a negative return value from a protocol handler as a
request to redispatch to a new protocol.  In contrast, IPv6 interprets a
negative value as an error, and interprets a positive value as a request
for redispatch.

UDP for IPv6 was unaware of this difference.  Change __udp6_lib_rcv() to
return a positive value for redispatch.  Note that the socket's
encap_rcv hook still needs to return a negative value to request
dispatch, and in the case of IPv6 packets, adjust IP6CB(skb)->nhoff to
identify the byte containing the next protocol.

Signed-off-by: Bill Sommerfeld <wsommerfeld@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/ipv6/udp.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 94ca4172b38e..26e1648ca228 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -848,11 +848,9 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
 		ret = udpv6_queue_rcv_skb(sk, skb);
 		sock_put(sk);
 
-		/* a return value > 0 means to resubmit the input, but
-		 * it wants the return to be -protocol, or 0
-		 */
+		/* a return value > 0 means to resubmit the input */
 		if (ret > 0)
-			return -ret;
+			return ret;
 
 		return 0;
 	}
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] sh_eth: fix NULL pointer dereference in sh_eth_ring_format()
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (21 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] udp6: fix UDP/IPv6 encap resubmit path Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:30 ` [patch added to 3.12-stable] macvtap: always pass ethernet header in linear Jiri Slaby
                   ` (12 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Sergei Shtylyov, David S . Miller, Jiri Slaby

From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit c1b7fca65070bfadca94dd53a4e6b71cd4f69715 ]

In a low memory situation, if netdev_alloc_skb() fails on a first RX ring
loop iteration  in sh_eth_ring_format(), 'rxdesc' is still NULL.  Avoid
kernel oops by adding the 'rxdesc' check after the loop.

Reported-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/ethernet/renesas/sh_eth.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index bee6e49c5542..d4ecb2fff4e4 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -1069,7 +1069,8 @@ static void sh_eth_ring_format(struct net_device *ndev)
 	mdp->dirty_rx = (u32) (i - mdp->num_rx_ring);
 
 	/* Mark the last entry as wrapping the ring. */
-	rxdesc->status |= cpu_to_edmac(mdp, RD_RDEL);
+	if (rxdesc)
+		rxdesc->status |= cpu_to_edmac(mdp, RD_RDEL);
 
 	memset(mdp->tx_ring, 0, tx_ringsize);
 
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] macvtap: always pass ethernet header in linear
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (22 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] sh_eth: fix NULL pointer dereference in sh_eth_ring_format() Jiri Slaby
@ 2016-04-20  6:30 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] net: Fix use after free in the recvmmsg exit path Jiri Slaby
                   ` (11 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:30 UTC (permalink / raw)
  To: stable; +Cc: Willem de Bruijn, David S . Miller, Jiri Slaby

From: Willem de Bruijn <willemb@google.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 8e2ad4113ce4671686740f808ff2795395c39eef ]

The stack expects link layer headers in the skb linear section.
Macvtap can create skbs with llheader in frags in edge cases:
when (IFF_VNET_HDR is off or vnet_hdr.hdr_len < ETH_HLEN) and
prepad + len > PAGE_SIZE and vnet_hdr.flags has no or bad csum.

Add checks to ensure linear is always at least ETH_HLEN.
At this point, len is already ensured to be >= ETH_HLEN.

For backwards compatiblity, rounds up short vnet_hdr.hdr_len.
This differs from tap and packet, which return an error.

Fixes b9fb9ee07e67 ("macvtap: add GSO/csum offload support")
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/macvtap.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index ee53a9d06e8e..98ce4feb9a79 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -688,6 +688,8 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m,
 		copylen = vnet_hdr.hdr_len ? vnet_hdr.hdr_len : GOODCOPY_LEN;
 		if (copylen > good_linear)
 			copylen = good_linear;
+		else if (copylen < ETH_HLEN)
+			copylen = ETH_HLEN;
 		linear = copylen;
 		if (iov_pages(iv, vnet_hdr_len + copylen, count)
 		    <= MAX_SKB_FRAGS)
@@ -696,10 +698,11 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m,
 
 	if (!zerocopy) {
 		copylen = len;
-		if (vnet_hdr.hdr_len > good_linear)
+		linear = vnet_hdr.hdr_len;
+		if (linear > good_linear)
 			linear = good_linear;
-		else
-			linear = vnet_hdr.hdr_len;
+		else if (linear < ETH_HLEN)
+			linear = ETH_HLEN;
 	}
 
 	skb = macvtap_alloc_skb(&q->sk, MACVTAP_RESERVE, copylen,
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: Fix use after free in the recvmmsg exit path
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (23 preceding siblings ...)
  2016-04-20  6:30 ` [patch added to 3.12-stable] macvtap: always pass ethernet header in linear Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] mlx4: add missing braces in verify_qp_parameters Jiri Slaby
                   ` (10 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable
  Cc: Arnaldo Carvalho de Melo, Alexander Potapenko, Eric Dumazet,
	Kostya Serebryany, Sasha Levin, David S . Miller, Jiri Slaby

From: Arnaldo Carvalho de Melo <acme@redhat.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 34b88a68f26a75e4fded796f1a49c40f82234b7d ]

The syzkaller fuzzer hit the following use-after-free:

  Call Trace:
   [<ffffffff8175ea0e>] __asan_report_load8_noabort+0x3e/0x40 mm/kasan/report.c:295
   [<ffffffff851cc31a>] __sys_recvmmsg+0x6fa/0x7f0 net/socket.c:2261
   [<     inline     >] SYSC_recvmmsg net/socket.c:2281
   [<ffffffff851cc57f>] SyS_recvmmsg+0x16f/0x180 net/socket.c:2270
   [<ffffffff86332bb6>] entry_SYSCALL_64_fastpath+0x16/0x7a
  arch/x86/entry/entry_64.S:185

And, as Dmitry rightly assessed, that is because we can drop the
reference and then touch it when the underlying recvmsg calls return
some packets and then hit an error, which will make recvmmsg to set
sock->sk->sk_err, oops, fix it.

Reported-and-Tested-by: Dmitry Vyukov <dvyukov@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Kostya Serebryany <kcc@google.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Fixes: a2e2725541fa ("net: Introduce recvmmsg socket syscall")
http://lkml.kernel.org/r/20160122211644.GC2470@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/socket.c | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/net/socket.c b/net/socket.c
index 00634623573f..64c47cd62e14 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2389,31 +2389,31 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen,
 			break;
 	}
 
-out_put:
-	fput_light(sock->file, fput_needed);
-
 	if (err == 0)
-		return datagrams;
+		goto out_put;
 
-	if (datagrams != 0) {
+	if (datagrams == 0) {
+		datagrams = err;
+		goto out_put;
+	}
+
+	/*
+	 * We may return less entries than requested (vlen) if the
+	 * sock is non block and there aren't enough datagrams...
+	 */
+	if (err != -EAGAIN) {
 		/*
-		 * We may return less entries than requested (vlen) if the
-		 * sock is non block and there aren't enough datagrams...
+		 * ... or  if recvmsg returns an error after we
+		 * received some datagrams, where we record the
+		 * error to return on the next call or if the
+		 * app asks about it using getsockopt(SO_ERROR).
 		 */
-		if (err != -EAGAIN) {
-			/*
-			 * ... or  if recvmsg returns an error after we
-			 * received some datagrams, where we record the
-			 * error to return on the next call or if the
-			 * app asks about it using getsockopt(SO_ERROR).
-			 */
-			sock->sk->sk_err = -err;
-		}
-
-		return datagrams;
+		sock->sk->sk_err = -err;
 	}
+out_put:
+	fput_light(sock->file, fput_needed);
 
-	return err;
+	return datagrams;
 }
 
 SYSCALL_DEFINE5(recvmmsg, int, fd, struct mmsghdr __user *, mmsg,
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] mlx4: add missing braces in verify_qp_parameters
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (24 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] net: Fix use after free in the recvmmsg exit path Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] farsync: fix off-by-one bug in fst_add_one Jiri Slaby
                   ` (9 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Arnd Bergmann, David S . Miller, Jiri Slaby

From: Arnd Bergmann <arnd@arndb.de>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit baefd7015cdb304ce6c94f9679d0486c71954766 ]

The implementation of QP paravirtualization back in linux-3.7 included
some code that looks very dubious, and gcc-6 has grown smart enough
to warn about it:

drivers/net/ethernet/mellanox/mlx4/resource_tracker.c: In function 'verify_qp_parameters':
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c:3154:5: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
     if (optpar & MLX4_QP_OPTPAR_ALT_ADDR_PATH) {
     ^~
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c:3144:4: note: ...this 'if' clause, but it is not
    if (slave != mlx4_master_func_num(dev))

>>From looking at the context, I'm reasonably sure that the indentation
is correct but that it should have contained curly braces from the
start, as the update_gid() function in the same patch correctly does.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 54679e148287 ("mlx4: Implement QP paravirtualization and maintain phys_pkey_cache for smp_snoop")
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
index cdbe63712d2d..c1c33839baf7 100644
--- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
+++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
@@ -2331,7 +2331,7 @@ static int verify_qp_parameters(struct mlx4_dev *dev,
 		case QP_TRANS_RTS2RTS:
 		case QP_TRANS_SQD2SQD:
 		case QP_TRANS_SQD2RTS:
-			if (slave != mlx4_master_func_num(dev))
+			if (slave != mlx4_master_func_num(dev)) {
 				/* slaves have only gid index 0 */
 				if (optpar & MLX4_QP_OPTPAR_PRIMARY_ADDR_PATH)
 					if (qp_ctx->pri_path.mgid_index)
@@ -2339,6 +2339,7 @@ static int verify_qp_parameters(struct mlx4_dev *dev,
 				if (optpar & MLX4_QP_OPTPAR_ALT_ADDR_PATH)
 					if (qp_ctx->alt_path.mgid_index)
 						return -EINVAL;
+			}
 			break;
 		default:
 			break;
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] farsync: fix off-by-one bug in fst_add_one
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (25 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] mlx4: add missing braces in verify_qp_parameters Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] ath9k: fix buffer overrun for ar9287 Jiri Slaby
                   ` (8 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Arnd Bergmann, David S . Miller, Jiri Slaby

From: Arnd Bergmann <arnd@arndb.de>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit e725a66c0202b5f36c2f9d59d26a65c53bbf21f7 ]

gcc-6 finds an out of bounds access in the fst_add_one function
when calculating the end of the mmio area:

drivers/net/wan/farsync.c: In function 'fst_add_one':
drivers/net/wan/farsync.c:418:53: error: index 2 denotes an offset greater than size of 'u8[2][8192] {aka unsigned char[2][8192]}' [-Werror=array-bounds]
 #define BUF_OFFSET(X)   (BFM_BASE + offsetof(struct buf_window, X))
                                                     ^
include/linux/compiler-gcc.h:158:21: note: in definition of macro '__compiler_offsetof'
  __builtin_offsetof(a, b)
                     ^
drivers/net/wan/farsync.c:418:37: note: in expansion of macro 'offsetof'
 #define BUF_OFFSET(X)   (BFM_BASE + offsetof(struct buf_window, X))
                                     ^~~~~~~~
drivers/net/wan/farsync.c:2519:36: note: in expansion of macro 'BUF_OFFSET'
                                  + BUF_OFFSET ( txBuffer[i][NUM_TX_BUFFER][0]);
                                    ^~~~~~~~~~

The warning is correct, but not critical because this appears
to be a write-only variable that is set by each WAN driver but
never accessed afterwards.

I'm taking the minimal fix here, using the correct pointer by
pointing 'mem_end' to the last byte inside of the register area
as all other WAN drivers do, rather than the first byte outside of
it. An alternative would be to just remove the mem_end member
entirely.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/wan/farsync.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index bcfff0d62de4..2dfa1478d7d1 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -2545,7 +2545,7 @@ fst_add_one(struct pci_dev *pdev, const struct pci_device_id *ent)
                 dev->mem_start   = card->phys_mem
                                  + BUF_OFFSET ( txBuffer[i][0][0]);
                 dev->mem_end     = card->phys_mem
-                                 + BUF_OFFSET ( txBuffer[i][NUM_TX_BUFFER][0]);
+                                 + BUF_OFFSET ( txBuffer[i][NUM_TX_BUFFER - 1][LEN_RX_BUFFER - 1]);
                 dev->base_addr   = card->pci_conf;
                 dev->irq         = card->irq;
 
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] ath9k: fix buffer overrun for ar9287
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (26 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] farsync: fix off-by-one bug in fst_add_one Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] net: mvneta: enable change MAC address when interface is up Jiri Slaby
                   ` (7 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Arnd Bergmann, David S . Miller, Jiri Slaby

From: Arnd Bergmann <arnd@arndb.de>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 83d6f1f15f8cce844b0a131cbc63e444620e48b5 ]

Code that was added back in 2.6.38 has an obvious overflow
when accessing a static array, and at the time it was added
only a code comment was put in front of it as a reminder
to have it reviewed properly.

This has not happened, but gcc-6 now points to the specific
overflow:

drivers/net/wireless/ath/ath9k/eeprom.c: In function 'ath9k_hw_get_gain_boundaries_pdadcs':
drivers/net/wireless/ath/ath9k/eeprom.c:483:44: error: array subscript is above array bounds [-Werror=array-bounds]
     maxPwrT4[i] = data_9287[idxL].pwrPdg[i][4];
                   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~

It turns out that the correct array length exists in the local
'intercepts' variable of this function, so we can just use that
instead of hardcoding '4', so this patch changes all three
instances to use that variable. The other two instances were
already correct, but it's more consistent this way.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 940cd2c12ebf ("ath9k_hw: merge the ar9287 version of ath9k_hw_get_gain_boundaries_pdadcs")
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/wireless/ath/ath9k/eeprom.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/eeprom.c b/drivers/net/wireless/ath/ath9k/eeprom.c
index 971d770722cf..2ac05486424b 100644
--- a/drivers/net/wireless/ath/ath9k/eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/eeprom.c
@@ -408,10 +408,9 @@ void ath9k_hw_get_gain_boundaries_pdadcs(struct ath_hw *ah,
 
 	if (match) {
 		if (AR_SREV_9287(ah)) {
-			/* FIXME: array overrun? */
 			for (i = 0; i < numXpdGains; i++) {
 				minPwrT4[i] = data_9287[idxL].pwrPdg[i][0];
-				maxPwrT4[i] = data_9287[idxL].pwrPdg[i][4];
+				maxPwrT4[i] = data_9287[idxL].pwrPdg[i][intercepts - 1];
 				ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
 						data_9287[idxL].pwrPdg[i],
 						data_9287[idxL].vpdPdg[i],
@@ -421,7 +420,7 @@ void ath9k_hw_get_gain_boundaries_pdadcs(struct ath_hw *ah,
 		} else if (eeprom_4k) {
 			for (i = 0; i < numXpdGains; i++) {
 				minPwrT4[i] = data_4k[idxL].pwrPdg[i][0];
-				maxPwrT4[i] = data_4k[idxL].pwrPdg[i][4];
+				maxPwrT4[i] = data_4k[idxL].pwrPdg[i][intercepts - 1];
 				ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
 						data_4k[idxL].pwrPdg[i],
 						data_4k[idxL].vpdPdg[i],
@@ -431,7 +430,7 @@ void ath9k_hw_get_gain_boundaries_pdadcs(struct ath_hw *ah,
 		} else {
 			for (i = 0; i < numXpdGains; i++) {
 				minPwrT4[i] = data_def[idxL].pwrPdg[i][0];
-				maxPwrT4[i] = data_def[idxL].pwrPdg[i][4];
+				maxPwrT4[i] = data_def[idxL].pwrPdg[i][intercepts - 1];
 				ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
 						data_def[idxL].pwrPdg[i],
 						data_def[idxL].vpdPdg[i],
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] net: mvneta: enable change MAC address when interface is up
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (27 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] ath9k: fix buffer overrun for ar9287 Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] qlge: Fix receive packets drop Jiri Slaby
                   ` (6 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Dmitri Epshtein, Gregory CLEMENT, David S . Miller, Jiri Slaby

From: Dmitri Epshtein <dima@marvell.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 928b6519afeb2a5e2dc61154380b545ed66c476a ]

Function eth_prepare_mac_addr_change() is called as part of MAC
address change. This function check if interface is running.
To enable change MAC address when interface is running:
IFF_LIVE_ADDR_CHANGE flag must be set to dev->priv_flags field

Fixes: c5aff18204da ("net: mvneta: driver for Marvell Armada 370/XP
network unit")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitri Epshtein <dima@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/ethernet/marvell/mvneta.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index d3b8c8af5d5b..5902e6a93167 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -2861,7 +2861,7 @@ static int mvneta_probe(struct platform_device *pdev)
 	dev->features = NETIF_F_SG | NETIF_F_IP_CSUM;
 	dev->hw_features |= NETIF_F_SG | NETIF_F_IP_CSUM;
 	dev->vlan_features |= NETIF_F_SG | NETIF_F_IP_CSUM;
-	dev->priv_flags |= IFF_UNICAST_FLT;
+	dev->priv_flags |= IFF_UNICAST_FLT | IFF_LIVE_ADDR_CHANGE;
 
 	err = register_netdev(dev);
 	if (err < 0) {
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] qlge: Fix receive packets drop.
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (28 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] net: mvneta: enable change MAC address when interface is up Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] ppp: take reference on channels netns Jiri Slaby
                   ` (5 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Manish Chopra, Sony Chacko, David S . Miller, Jiri Slaby

From: Manish Chopra <manish.chopra@qlogic.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 2c9a266afefe137bff06bbe0fc48b4d3b3cb348c ]

When running small packets [length < 256 bytes] traffic, packets were
being dropped due to invalid data in those packets which were
delivered by the driver upto the stack. Using pci_dma_sync_single_for_cpu
ensures copying latest and updated data into skb from the receive buffer.

Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/ethernet/qlogic/qlge/qlge_main.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index 2553cf4503b9..151478a59e30 100644
--- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
@@ -1620,7 +1620,18 @@ static void ql_process_mac_rx_skb(struct ql_adapter *qdev,
 		return;
 	}
 	skb_reserve(new_skb, NET_IP_ALIGN);
+
+	pci_dma_sync_single_for_cpu(qdev->pdev,
+				    dma_unmap_addr(sbq_desc, mapaddr),
+				    dma_unmap_len(sbq_desc, maplen),
+				    PCI_DMA_FROMDEVICE);
+
 	memcpy(skb_put(new_skb, length), skb->data, length);
+
+	pci_dma_sync_single_for_device(qdev->pdev,
+				       dma_unmap_addr(sbq_desc, mapaddr),
+				       dma_unmap_len(sbq_desc, maplen),
+				       PCI_DMA_FROMDEVICE);
 	skb = new_skb;
 
 	/* Frame error, so drop the packet. */
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] ppp: take reference on channels netns
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (29 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] qlge: Fix receive packets drop Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] xfrm: Fix crash observed during device unregistration and decryption Jiri Slaby
                   ` (4 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Guillaume Nault, David S . Miller, Jiri Slaby

From: Guillaume Nault <g.nault@alphalink.fr>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 1f461dcdd296eecedaffffc6bae2bfa90bd7eb89 ]

Let channels hold a reference on their network namespace.
Some channel types, like ppp_async and ppp_synctty, can have their
userspace controller running in a different namespace. Therefore they
can't rely on them to preclude their netns from being removed from
under them.

==================================================================
BUG: KASAN: use-after-free in ppp_unregister_channel+0x372/0x3a0 at
addr ffff880064e217e0
Read of size 8 by task syz-executor/11581
=============================================================================
BUG net_namespace (Not tainted): kasan: bad access detected
-----------------------------------------------------------------------------

Disabling lock debugging due to kernel taint
INFO: Allocated in copy_net_ns+0x6b/0x1a0 age=92569 cpu=3 pid=6906
[<      none      >] ___slab_alloc+0x4c7/0x500 kernel/mm/slub.c:2440
[<      none      >] __slab_alloc+0x4c/0x90 kernel/mm/slub.c:2469
[<     inline     >] slab_alloc_node kernel/mm/slub.c:2532
[<     inline     >] slab_alloc kernel/mm/slub.c:2574
[<      none      >] kmem_cache_alloc+0x23a/0x2b0 kernel/mm/slub.c:2579
[<     inline     >] kmem_cache_zalloc kernel/include/linux/slab.h:597
[<     inline     >] net_alloc kernel/net/core/net_namespace.c:325
[<      none      >] copy_net_ns+0x6b/0x1a0 kernel/net/core/net_namespace.c:360
[<      none      >] create_new_namespaces+0x2f6/0x610 kernel/kernel/nsproxy.c:95
[<      none      >] copy_namespaces+0x297/0x320 kernel/kernel/nsproxy.c:150
[<      none      >] copy_process.part.35+0x1bf4/0x5760 kernel/kernel/fork.c:1451
[<     inline     >] copy_process kernel/kernel/fork.c:1274
[<      none      >] _do_fork+0x1bc/0xcb0 kernel/kernel/fork.c:1723
[<     inline     >] SYSC_clone kernel/kernel/fork.c:1832
[<      none      >] SyS_clone+0x37/0x50 kernel/kernel/fork.c:1826
[<      none      >] entry_SYSCALL_64_fastpath+0x16/0x7a kernel/arch/x86/entry/entry_64.S:185

INFO: Freed in net_drop_ns+0x67/0x80 age=575 cpu=2 pid=2631
[<      none      >] __slab_free+0x1fc/0x320 kernel/mm/slub.c:2650
[<     inline     >] slab_free kernel/mm/slub.c:2805
[<      none      >] kmem_cache_free+0x2a0/0x330 kernel/mm/slub.c:2814
[<     inline     >] net_free kernel/net/core/net_namespace.c:341
[<      none      >] net_drop_ns+0x67/0x80 kernel/net/core/net_namespace.c:348
[<      none      >] cleanup_net+0x4e5/0x600 kernel/net/core/net_namespace.c:448
[<      none      >] process_one_work+0x794/0x1440 kernel/kernel/workqueue.c:2036
[<      none      >] worker_thread+0xdb/0xfc0 kernel/kernel/workqueue.c:2170
[<      none      >] kthread+0x23f/0x2d0 kernel/drivers/block/aoe/aoecmd.c:1303
[<      none      >] ret_from_fork+0x3f/0x70 kernel/arch/x86/entry/entry_64.S:468
INFO: Slab 0xffffea0001938800 objects=3 used=0 fp=0xffff880064e20000
flags=0x5fffc0000004080
INFO: Object 0xffff880064e20000 @offset=0 fp=0xffff880064e24200

CPU: 1 PID: 11581 Comm: syz-executor Tainted: G    B           4.4.0+
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
 00000000ffffffff ffff8800662c7790 ffffffff8292049d ffff88003e36a300
 ffff880064e20000 ffff880064e20000 ffff8800662c77c0 ffffffff816f2054
 ffff88003e36a300 ffffea0001938800 ffff880064e20000 0000000000000000
Call Trace:
 [<     inline     >] __dump_stack kernel/lib/dump_stack.c:15
 [<ffffffff8292049d>] dump_stack+0x6f/0xa2 kernel/lib/dump_stack.c:50
 [<ffffffff816f2054>] print_trailer+0xf4/0x150 kernel/mm/slub.c:654
 [<ffffffff816f875f>] object_err+0x2f/0x40 kernel/mm/slub.c:661
 [<     inline     >] print_address_description kernel/mm/kasan/report.c:138
 [<ffffffff816fb0c5>] kasan_report_error+0x215/0x530 kernel/mm/kasan/report.c:236
 [<     inline     >] kasan_report kernel/mm/kasan/report.c:259
 [<ffffffff816fb4de>] __asan_report_load8_noabort+0x3e/0x40 kernel/mm/kasan/report.c:280
 [<     inline     >] ? ppp_pernet kernel/include/linux/compiler.h:218
 [<ffffffff83ad71b2>] ? ppp_unregister_channel+0x372/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392
 [<     inline     >] ppp_pernet kernel/include/linux/compiler.h:218
 [<ffffffff83ad71b2>] ppp_unregister_channel+0x372/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392
 [<     inline     >] ? ppp_pernet kernel/drivers/net/ppp/ppp_generic.c:293
 [<ffffffff83ad6f26>] ? ppp_unregister_channel+0xe6/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392
 [<ffffffff83ae18f3>] ppp_asynctty_close+0xa3/0x130 kernel/drivers/net/ppp/ppp_async.c:241
 [<ffffffff83ae1850>] ? async_lcp_peek+0x5b0/0x5b0 kernel/drivers/net/ppp/ppp_async.c:1000
 [<ffffffff82c33239>] tty_ldisc_close.isra.1+0x99/0xe0 kernel/drivers/tty/tty_ldisc.c:478
 [<ffffffff82c332c0>] tty_ldisc_kill+0x40/0x170 kernel/drivers/tty/tty_ldisc.c:744
 [<ffffffff82c34943>] tty_ldisc_release+0x1b3/0x260 kernel/drivers/tty/tty_ldisc.c:772
 [<ffffffff82c1ef21>] tty_release+0xac1/0x13e0 kernel/drivers/tty/tty_io.c:1901
 [<ffffffff82c1e460>] ? release_tty+0x320/0x320 kernel/drivers/tty/tty_io.c:1688
 [<ffffffff8174de36>] __fput+0x236/0x780 kernel/fs/file_table.c:208
 [<ffffffff8174e405>] ____fput+0x15/0x20 kernel/fs/file_table.c:244
 [<ffffffff813595ab>] task_work_run+0x16b/0x200 kernel/kernel/task_work.c:115
 [<     inline     >] exit_task_work kernel/include/linux/task_work.h:21
 [<ffffffff81307105>] do_exit+0x8b5/0x2c60 kernel/kernel/exit.c:750
 [<ffffffff813fdd20>] ? debug_check_no_locks_freed+0x290/0x290 kernel/kernel/locking/lockdep.c:4123
 [<ffffffff81306850>] ? mm_update_next_owner+0x6f0/0x6f0 kernel/kernel/exit.c:357
 [<ffffffff813215e6>] ? __dequeue_signal+0x136/0x470 kernel/kernel/signal.c:550
 [<ffffffff8132067b>] ? recalc_sigpending_tsk+0x13b/0x180 kernel/kernel/signal.c:145
 [<ffffffff81309628>] do_group_exit+0x108/0x330 kernel/kernel/exit.c:880
 [<ffffffff8132b9d4>] get_signal+0x5e4/0x14f0 kernel/kernel/signal.c:2307
 [<     inline     >] ? kretprobe_table_lock kernel/kernel/kprobes.c:1113
 [<ffffffff8151d355>] ? kprobe_flush_task+0xb5/0x450 kernel/kernel/kprobes.c:1158
 [<ffffffff8115f7d3>] do_signal+0x83/0x1c90 kernel/arch/x86/kernel/signal.c:712
 [<ffffffff8151d2a0>] ? recycle_rp_inst+0x310/0x310 kernel/include/linux/list.h:655
 [<ffffffff8115f750>] ? setup_sigcontext+0x780/0x780 kernel/arch/x86/kernel/signal.c:165
 [<ffffffff81380864>] ? finish_task_switch+0x424/0x5f0 kernel/kernel/sched/core.c:2692
 [<     inline     >] ? finish_lock_switch kernel/kernel/sched/sched.h:1099
 [<ffffffff81380560>] ? finish_task_switch+0x120/0x5f0 kernel/kernel/sched/core.c:2678
 [<     inline     >] ? context_switch kernel/kernel/sched/core.c:2807
 [<ffffffff85d794e9>] ? __schedule+0x919/0x1bd0 kernel/kernel/sched/core.c:3283
 [<ffffffff81003901>] exit_to_usermode_loop+0xf1/0x1a0 kernel/arch/x86/entry/common.c:247
 [<     inline     >] prepare_exit_to_usermode kernel/arch/x86/entry/common.c:282
 [<ffffffff810062ef>] syscall_return_slowpath+0x19f/0x210 kernel/arch/x86/entry/common.c:344
 [<ffffffff85d88022>] int_ret_from_sys_call+0x25/0x9f kernel/arch/x86/entry/entry_64.S:281
Memory state around the buggy address:
 ffff880064e21680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff880064e21700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff880064e21780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                       ^
 ffff880064e21800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff880064e21880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Fixes: 273ec51dd7ce ("net: ppp_generic - introduce net-namespace functionality v2")
Reported-by: Baozeng Ding <sploving1@gmail.com>
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Reviewed-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/net/ppp/ppp_generic.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
index a2d7d5f066f1..14a8d2958698 100644
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -2220,7 +2220,7 @@ int ppp_register_net_channel(struct net *net, struct ppp_channel *chan)
 
 	pch->ppp = NULL;
 	pch->chan = chan;
-	pch->chan_net = net;
+	pch->chan_net = get_net(net);
 	chan->ppp = pch;
 	init_ppp_file(&pch->file, CHANNEL);
 	pch->file.hdrlen = chan->hdrlen;
@@ -2317,6 +2317,8 @@ ppp_unregister_channel(struct ppp_channel *chan)
 	spin_lock_bh(&pn->all_channels_lock);
 	list_del(&pch->list);
 	spin_unlock_bh(&pn->all_channels_lock);
+	put_net(pch->chan_net);
+	pch->chan_net = NULL;
 
 	pch->file.dead = 1;
 	wake_up_interruptible(&pch->file.rwait);
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] xfrm: Fix crash observed during device unregistration and decryption
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (30 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] ppp: take reference on channels netns Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] ipv4: l2tp: fix a potential issue in l2tp_ip_recv Jiri Slaby
                   ` (3 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: subashab, Jerome Stanislaus, David S . Miller, Jiri Slaby

From: "subashab@codeaurora.org" <subashab@codeaurora.org>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 071d36bf21bcc837be00cea55bcef8d129e7f609 ]

A crash is observed when a decrypted packet is processed in receive
path. get_rps_cpus() tries to dereference the skb->dev fields but it
appears that the device is freed from the poison pattern.

[<ffffffc000af58ec>] get_rps_cpu+0x94/0x2f0
[<ffffffc000af5f94>] netif_rx_internal+0x140/0x1cc
[<ffffffc000af6094>] netif_rx+0x74/0x94
[<ffffffc000bc0b6c>] xfrm_input+0x754/0x7d0
[<ffffffc000bc0bf8>] xfrm_input_resume+0x10/0x1c
[<ffffffc000ba6eb8>] esp_input_done+0x20/0x30
[<ffffffc0000b64c8>] process_one_work+0x244/0x3fc
[<ffffffc0000b7324>] worker_thread+0x2f8/0x418
[<ffffffc0000bb40c>] kthread+0xe0/0xec

-013|get_rps_cpu(
     |    dev = 0xFFFFFFC08B688000,
     |    skb = 0xFFFFFFC0C76AAC00 -> (
     |      dev = 0xFFFFFFC08B688000 -> (
     |        name =
"......................................................
     |        name_hlist = (next = 0xAAAAAAAAAAAAAAAA, pprev =
0xAAAAAAAAAAA

Following are the sequence of events observed -

- Encrypted packet in receive path from netdevice is queued
- Encrypted packet queued for decryption (asynchronous)
- Netdevice brought down and freed
- Packet is decrypted and returned through callback in esp_input_done
- Packet is queued again for process in network stack using netif_rx

Since the device appears to have been freed, the dereference of
skb->dev in get_rps_cpus() leads to an unhandled page fault
exception.

Fix this by holding on to device reference when queueing packets
asynchronously and releasing the reference on call back return.

v2: Make the change generic to xfrm as mentioned by Steffen and
update the title to xfrm

Suggested-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Jerome Stanislaus <jeromes@codeaurora.org>
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/xfrm/xfrm_input.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
index 88843996f935..fd74c636e255 100644
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
@@ -196,6 +196,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 		XFRM_SKB_CB(skb)->seq.input.hi = seq_hi;
 
 		skb_dst_force(skb);
+		dev_hold(skb->dev);
 
 		nexthdr = x->type->input(x, skb);
 
@@ -203,6 +204,8 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 			return 0;
 
 resume:
+		dev_put(skb->dev);
+
 		spin_lock(&x->lock);
 		if (nexthdr <= 0) {
 			if (nexthdr == -EBADMSG) {
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] ipv4: l2tp: fix a potential issue in l2tp_ip_recv
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (31 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] xfrm: Fix crash observed during device unregistration and decryption Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] ipv6: l2tp: fix a potential issue in l2tp_ip6_recv Jiri Slaby
                   ` (2 subsequent siblings)
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Haishuang Yan, David S . Miller, Jiri Slaby

From: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 5745b8232e942abd5e16e85fa9b27cc21324acf0 ]

pskb_may_pull() can change skb->data, so we have to load ptr/optr at the
right place.

Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/l2tp/l2tp_ip.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c
index da1a1cee1a08..07f8b97f9ae9 100644
--- a/net/l2tp/l2tp_ip.c
+++ b/net/l2tp/l2tp_ip.c
@@ -123,12 +123,11 @@ static int l2tp_ip_recv(struct sk_buff *skb)
 	struct l2tp_tunnel *tunnel = NULL;
 	int length;
 
-	/* Point to L2TP header */
-	optr = ptr = skb->data;
-
 	if (!pskb_may_pull(skb, 4))
 		goto discard;
 
+	/* Point to L2TP header */
+	optr = ptr = skb->data;
 	session_id = ntohl(*((__be32 *) ptr));
 	ptr += 4;
 
@@ -156,6 +155,9 @@ static int l2tp_ip_recv(struct sk_buff *skb)
 		if (!pskb_may_pull(skb, length))
 			goto discard;
 
+		/* Point to L2TP header */
+		optr = ptr = skb->data;
+		ptr += 4;
 		pr_debug("%s: ip recv\n", tunnel->name);
 		print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, ptr, length);
 	}
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] ipv6: l2tp: fix a potential issue in l2tp_ip6_recv
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (32 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] ipv4: l2tp: fix a potential issue in l2tp_ip_recv Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] ip6_tunnel: set rtnl_link_ops before calling register_netdevice Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] ipv6: Count in extension headers in skb->network_header Jiri Slaby
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Haishuang Yan, David S . Miller, Jiri Slaby

From: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit be447f305494e019dfc37ea4cdf3b0e4200b4eba ]

pskb_may_pull() can change skb->data, so we have to load ptr/optr at the
right place.

Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/l2tp/l2tp_ip6.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/net/l2tp/l2tp_ip6.c b/net/l2tp/l2tp_ip6.c
index 3b61ddd6e4a6..eadfb3031ed2 100644
--- a/net/l2tp/l2tp_ip6.c
+++ b/net/l2tp/l2tp_ip6.c
@@ -135,12 +135,11 @@ static int l2tp_ip6_recv(struct sk_buff *skb)
 	struct l2tp_tunnel *tunnel = NULL;
 	int length;
 
-	/* Point to L2TP header */
-	optr = ptr = skb->data;
-
 	if (!pskb_may_pull(skb, 4))
 		goto discard;
 
+	/* Point to L2TP header */
+	optr = ptr = skb->data;
 	session_id = ntohl(*((__be32 *) ptr));
 	ptr += 4;
 
@@ -168,6 +167,9 @@ static int l2tp_ip6_recv(struct sk_buff *skb)
 		if (!pskb_may_pull(skb, length))
 			goto discard;
 
+		/* Point to L2TP header */
+		optr = ptr = skb->data;
+		ptr += 4;
 		pr_debug("%s: ip recv\n", tunnel->name);
 		print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, ptr, length);
 	}
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] ip6_tunnel: set rtnl_link_ops before calling register_netdevice
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (33 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] ipv6: l2tp: fix a potential issue in l2tp_ip6_recv Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  2016-04-20  6:31 ` [patch added to 3.12-stable] ipv6: Count in extension headers in skb->network_header Jiri Slaby
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Thadeu Lima de Souza Cascardo, David S . Miller, Jiri Slaby

From: Thadeu Lima de Souza Cascardo <cascardo@redhat.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit b6ee376cb0b7fb4e7e07d6cd248bd40436fb9ba6 ]

When creating an ip6tnl tunnel with ip tunnel, rtnl_link_ops is not set
before ip6_tnl_create2 is called. When register_netdevice is called, there
is no linkinfo attribute in the NEWLINK message because of that.

Setting rtnl_link_ops before calling register_netdevice fixes that.

Fixes: 0b112457229d ("ip6tnl: add support of link creation via rtnl")
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com>
Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/ipv6/ip6_tunnel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index 8883795462fe..cfdb663e0259 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -267,12 +267,12 @@ static int ip6_tnl_create2(struct net_device *dev)
 
 	t = netdev_priv(dev);
 
+	dev->rtnl_link_ops = &ip6_link_ops;
 	err = register_netdevice(dev);
 	if (err < 0)
 		goto out;
 
 	strcpy(t->parms.name, dev->name);
-	dev->rtnl_link_ops = &ip6_link_ops;
 
 	dev_hold(dev);
 	ip6_tnl_link(ip6n, t);
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* [patch added to 3.12-stable] ipv6: Count in extension headers in skb->network_header
  2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
                   ` (34 preceding siblings ...)
  2016-04-20  6:31 ` [patch added to 3.12-stable] ip6_tunnel: set rtnl_link_ops before calling register_netdevice Jiri Slaby
@ 2016-04-20  6:31 ` Jiri Slaby
  35 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-20  6:31 UTC (permalink / raw)
  To: stable; +Cc: Jakub Sitnicki, David S . Miller, Jiri Slaby

From: Jakub Sitnicki <jkbs@redhat.com>

This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.

===============

[ Upstream commit 3ba3458fb9c050718b95275a3310b74415e767e2 ]

When sending a UDPv6 message longer than MTU, account for the length
of fragmentable IPv6 extension headers in skb->network_header offset.
Same as we do in alloc_new_skb path in __ip6_append_data().

This ensures that later on __ip6_make_skb() will make space in
headroom for fragmentable extension headers:

	/* move skb->data to ip header from ext header */
	if (skb->data < skb_network_header(skb))
		__skb_pull(skb, skb_network_offset(skb));

Prevents a splat due to skb_under_panic:

skbuff: skb_under_panic: text:ffffffff8143397b len:2126 put:14 \
head:ffff880005bacf50 data:ffff880005bacf4a tail:0x48 end:0xc0 dev:lo
------------[ cut here ]------------
kernel BUG at net/core/skbuff.c:104!
invalid opcode: 0000 [#1] KASAN
CPU: 0 PID: 160 Comm: reproducer Not tainted 4.6.0-rc2 #65
[...]
Call Trace:
 [<ffffffff813eb7b9>] skb_push+0x79/0x80
 [<ffffffff8143397b>] eth_header+0x2b/0x100
 [<ffffffff8141e0d0>] neigh_resolve_output+0x210/0x310
 [<ffffffff814eab77>] ip6_finish_output2+0x4a7/0x7c0
 [<ffffffff814efe3a>] ip6_output+0x16a/0x280
 [<ffffffff815440c1>] ip6_local_out+0xb1/0xf0
 [<ffffffff814f1115>] ip6_send_skb+0x45/0xd0
 [<ffffffff81518836>] udp_v6_send_skb+0x246/0x5d0
 [<ffffffff8151985e>] udpv6_sendmsg+0xa6e/0x1090
[...]

Reported-by: Ji Jianwen <jiji@redhat.com>
Signed-off-by: Jakub Sitnicki <jkbs@redhat.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/ipv6/ip6_output.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 855957271830..8b144bf50189 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -1038,9 +1038,8 @@ static inline int ip6_ufo_append_data(struct sock *sk,
 			int getfrag(void *from, char *to, int offset, int len,
 			int odd, struct sk_buff *skb),
 			void *from, int length, int hh_len, int fragheaderlen,
-			int transhdrlen, int mtu,unsigned int flags,
-			struct rt6_info *rt)
-
+			int exthdrlen, int transhdrlen, int mtu,
+			unsigned int flags, struct rt6_info *rt)
 {
 	struct sk_buff *skb;
 	struct frag_hdr fhdr;
@@ -1064,7 +1063,7 @@ static inline int ip6_ufo_append_data(struct sock *sk,
 		skb_put(skb,fragheaderlen + transhdrlen);
 
 		/* initialize network header pointer */
-		skb_reset_network_header(skb);
+		skb_set_network_header(skb, exthdrlen);
 
 		/* initialize protocol header pointer */
 		skb->transport_header = skb->network_header + fragheaderlen;
@@ -1269,7 +1268,7 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to,
 	    (rt->dst.dev->features & NETIF_F_UFO) &&
 	    (sk->sk_type == SOCK_DGRAM)) {
 		err = ip6_ufo_append_data(sk, getfrag, from, length,
-					  hh_len, fragheaderlen,
+					  hh_len, fragheaderlen, exthdrlen,
 					  transhdrlen, mtu, flags, rt);
 		if (err)
 			goto error;
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 40+ messages in thread

* Re: [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless MC74xx/EM74xx
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless MC74xx/EM74xx Jiri Slaby
@ 2016-04-20 10:14   ` Bjørn Mork
  2016-04-27  9:08     ` Jiri Slaby
  0 siblings, 1 reply; 40+ messages in thread
From: Bjørn Mork @ 2016-04-20 10:14 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: stable, David S . Miller

Jiri Slaby <jslaby@suse.cz> writes:

> From: Bjørn Mork <bjorn@mork.no>
>
> This patch has been added to the 3.12 stable tree. If you have any
> objections, please let us know.
>
> ===============
>
> commit 0db65fcfcded76fe4f74e3ca9f4e2baf67b683ef upstream.
>
> New device IDs shamelessly lifted from the vendor driver.
>
> Signed-off-by: Bjørn Mork <bjorn@mork.no>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> ---
>  drivers/net/usb/qmi_wwan.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
> index 6408090bc169..a516b7ee02bf 100644
> --- a/drivers/net/usb/qmi_wwan.c
> +++ b/drivers/net/usb/qmi_wwan.c
> @@ -747,6 +747,10 @@ static const struct usb_device_id products[] = {
>  	{QMI_FIXED_INTF(0x1199, 0x9056, 8)},	/* Sierra Wireless Modem */
>  	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},
>  	{QMI_FIXED_INTF(0x1199, 0x9061, 8)},	/* Sierra Wireless Modem */
> +	{QMI_FIXED_INTF(0x1199, 0x9070, 8)},	/* Sierra Wireless MC74xx/EM74xx */
> +	{QMI_FIXED_INTF(0x1199, 0x9070, 10)},	/* Sierra Wireless MC74xx/EM74xx */
> +	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx/EM74xx */
> +	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx/EM74xx */
>  	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
>  	{QMI_FIXED_INTF(0x1bbb, 0x0203, 2)},	/* Alcatel L800MA */
>  	{QMI_FIXED_INTF(0x2357, 0x0201, 4)},	/* TP-LINK HSUPA Modem MA180 */



This is of course harmless, but those devices won't actually work
without this fix:

 93725149794d ("net: qmi_wwan: MDM9x30 specific power management")


And I'm not sure that one is appropriate for stable?  I did consider it
more of a feature than a bugfix myself.  But that's up to you to decide
of course.


Bjørn

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless EM74xx device ID
  2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless EM74xx device ID Jiri Slaby
@ 2016-04-20 10:16   ` Bjørn Mork
  0 siblings, 0 replies; 40+ messages in thread
From: Bjørn Mork @ 2016-04-20 10:16 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: stable, David S . Miller

Jiri Slaby <jslaby@suse.cz> writes:

> From: Bjørn Mork <bjorn@mork.no>
>
> This patch has been added to the 3.12 stable tree. If you have any
> objections, please let us know.
>
> ===============
>
> commit bf13c94ccb33c3182efc92ce4989506a0f541243 upstream.
>
> The MC74xx and EM74xx modules use different IDs by default, according
> to the Lenovo EM7455 driver for Windows.
>
> Signed-off-by: Bjørn Mork <bjorn@mork.no>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> ---
>  drivers/net/usb/qmi_wwan.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
> index c00fa6546c95..9ec45ee06dc7 100644
> --- a/drivers/net/usb/qmi_wwan.c
> +++ b/drivers/net/usb/qmi_wwan.c
> @@ -747,8 +747,10 @@ static const struct usb_device_id products[] = {
>  	{QMI_FIXED_INTF(0x1199, 0x9056, 8)},	/* Sierra Wireless Modem */
>  	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},
>  	{QMI_FIXED_INTF(0x1199, 0x9061, 8)},	/* Sierra Wireless Modem */
> -	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx/EM74xx */
> -	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx/EM74xx */
> +	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx */
> +	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx */
> +	{QMI_FIXED_INTF(0x1199, 0x9079, 8)},	/* Sierra Wireless EM74xx */
> +	{QMI_FIXED_INTF(0x1199, 0x9079, 10)},	/* Sierra Wireless EM74xx */
>  	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
>  	{QMI_FIXED_INTF(0x1bbb, 0x0203, 2)},	/* Alcatel L800MA */
>  	{QMI_FIXED_INTF(0x2357, 0x0201, 4)},	/* TP-LINK HSUPA Modem MA180 */


And the same for this one.  The 1199:9079 device won't work (in QMI
mode) without 93725149794d ("net: qmi_wwan: MDM9x30 specific power
management")


Bjørn

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless MC74xx/EM74xx
  2016-04-20 10:14   ` Bjørn Mork
@ 2016-04-27  9:08     ` Jiri Slaby
  0 siblings, 0 replies; 40+ messages in thread
From: Jiri Slaby @ 2016-04-27  9:08 UTC (permalink / raw)
  To: Bjørn Mork; +Cc: stable, David S . Miller

On 04/20/2016, 12:14 PM, Bjørn Mork wrote:
>> --- a/drivers/net/usb/qmi_wwan.c
>> +++ b/drivers/net/usb/qmi_wwan.c
>> @@ -747,6 +747,10 @@ static const struct usb_device_id products[] = {
>>  	{QMI_FIXED_INTF(0x1199, 0x9056, 8)},	/* Sierra Wireless Modem */
>>  	{QMI_FIXED_INTF(0x1199, 0x9057, 8)},
>>  	{QMI_FIXED_INTF(0x1199, 0x9061, 8)},	/* Sierra Wireless Modem */
>> +	{QMI_FIXED_INTF(0x1199, 0x9070, 8)},	/* Sierra Wireless MC74xx/EM74xx */
>> +	{QMI_FIXED_INTF(0x1199, 0x9070, 10)},	/* Sierra Wireless MC74xx/EM74xx */
>> +	{QMI_FIXED_INTF(0x1199, 0x9071, 8)},	/* Sierra Wireless MC74xx/EM74xx */
>> +	{QMI_FIXED_INTF(0x1199, 0x9071, 10)},	/* Sierra Wireless MC74xx/EM74xx */
> 
> This is of course harmless, but those devices won't actually work
> without this fix:
> 
>  93725149794d ("net: qmi_wwan: MDM9x30 specific power management")
> 
> 
> And I'm not sure that one is appropriate for stable?  I did consider it
> more of a feature than a bugfix myself.  But that's up to you to decide
> of course.

Yes, all of these are "features", but they still satisfy the stable
rules though ("New device IDs and quirks are also accepted".) And given
it is small enough and in upstream for a while I decided to put that in
in the end.

thanks,
-- 
js
suse labs

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2016-04-27  9:09 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-20  6:30 [patch added to 3.12-stable] tunnel: Clear IPCB(skb)->opt before dst_link_failure called Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: jme: fix suspend/resume on JMC260 Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] sctp: lack the check for ports in sctp_v6_cmp_addr Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add "D-Link DWM-221 B1" device id Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add Netgear AirCard 341U Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add additional Sierra Wireless QMI devices Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add the second QMI/network interface for Sierra Wireless MC7305/MC7355 Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: Add support for Dell Wireless 5809e 4G Modem Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Sierra Wireless MC73xx -> Sierra Wireless MC7304/MC7354 Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless MC74xx/EM74xx Jiri Slaby
2016-04-20 10:14   ` Bjørn Mork
2016-04-27  9:08     ` Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: remove 1199:9070 device id Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Add WeTelecom-WPD600N Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] net: qmi_wwan: Add SIMCom 7230E Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] Add Dell Wireless 5809e Gobi 4G HSPA+ Mobile Broadband Card (rev3) to qmi_wwan Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: add Sierra Wireless EM74xx device ID Jiri Slaby
2016-04-20 10:16   ` Bjørn Mork
2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan: Added support for Gemalto's Cinterion PHxx WWAN interface Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] qmi_wwan/cdc_ether: move Novatel E371 (1410:9011) to qmi_wwan Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] ipv6: re-enable fragment header matching in ipv6_find_hdr Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] cdc_ncm: toggle altsetting to force reset before setup Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] usbnet: cleanup after bind() in probe() Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] udp6: fix UDP/IPv6 encap resubmit path Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] sh_eth: fix NULL pointer dereference in sh_eth_ring_format() Jiri Slaby
2016-04-20  6:30 ` [patch added to 3.12-stable] macvtap: always pass ethernet header in linear Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] net: Fix use after free in the recvmmsg exit path Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] mlx4: add missing braces in verify_qp_parameters Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] farsync: fix off-by-one bug in fst_add_one Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] ath9k: fix buffer overrun for ar9287 Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] net: mvneta: enable change MAC address when interface is up Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] qlge: Fix receive packets drop Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] ppp: take reference on channels netns Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] xfrm: Fix crash observed during device unregistration and decryption Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] ipv4: l2tp: fix a potential issue in l2tp_ip_recv Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] ipv6: l2tp: fix a potential issue in l2tp_ip6_recv Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] ip6_tunnel: set rtnl_link_ops before calling register_netdevice Jiri Slaby
2016-04-20  6:31 ` [patch added to 3.12-stable] ipv6: Count in extension headers in skb->network_header Jiri Slaby

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.