[openwrt/openwrt] kernel: bump 4.14 to 4.14.34

LEDE Commits lede-commits at lists.infradead.org
Sun Apr 15 14:25:55 PDT 2018


stintel pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/ec1d7b94616c392c28b8a51f1aa0c481cc6d92c8

commit ec1d7b94616c392c28b8a51f1aa0c481cc6d92c8
Author: Stijn Tintel <stijn at linux-ipv6.be>
AuthorDate: Mon Apr 16 00:00:49 2018 +0300

    kernel: bump 4.14 to 4.14.34
    
    Refresh patches.
    Update patches that no longer apply:
    - backport/313-netfilter-remove-defensive-check-on-malformed-packet.patch
    - pending/642-net-8021q-support-hardware-flow-table-offload.patch
    
    Compile-tested: x86/64.
    Runtime-tested: x86/64.
    
    Signed-off-by: Stefan Lippers-Hollmann <s.l-h at gmx.de>
    Signed-off-by: Stijn Tintel <stijn at linux-ipv6.be>
---
 include/kernel-version.mk                          |  4 +-
 ...-detect-JEDEC-incompatible-w25q128-using-.patch |  2 +-
 .../brcm47xx/patches-4.14/159-cpu_fixes.patch      |  6 +--
 .../400-mtd-bcm47xxpart-get-nvram.patch            |  2 +-
 ...emove-defensive-check-on-malformed-packet.patch |  6 +--
 ...324-netfilter-flow-table-support-for-IPv6.patch |  4 +-
 ...36-netfilter-exit_net-cleanup-check-added.patch |  2 +-
 .../350-ipv6-make-ip6_dst_mtu_forward-inline.patch |  2 +-
 .../generic/hack-4.14/250-netfilter_depends.patch  |  2 +-
 .../linux/generic/hack-4.14/721-phy_packets.patch  |  8 ++--
 ...f_flow_table-support-hw-offload-through-v.patch | 53 +++++++++++-----------
 ...8021q-support-hardware-flow-table-offload.patch |  7 +--
 ...pppoe-support-hardware-flow-table-offload.patch |  2 +-
 .../666-Add-support-for-MAP-E-FMRs-mesh-mode.patch | 30 ++++++------
 ...jecting-with-source-address-failed-policy.patch | 18 ++++----
 ...80-NET-skip-GRO-for-foreign-MAC-addresses.patch |  2 +-
 ...t-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch |  2 +-
 ...dule-eeprom-ethtool-access-into-netdev-co.patch |  2 +-
 ...mtd-nor-support-mtd-name-from-device-tree.patch |  4 +-
 .../0032-USB-dwc2-add-device_reset.patch           |  2 +-
 ...53-mtd-spi-nor-add-w25q256-3b-mode-switch.patch | 10 ++--
 21 files changed, 86 insertions(+), 84 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 4be674c..3e9ddaa 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -5,12 +5,12 @@ LINUX_RELEASE?=1
 LINUX_VERSION-3.18 = .71
 LINUX_VERSION-4.4 = .121
 LINUX_VERSION-4.9 = .91
-LINUX_VERSION-4.14 = .32
+LINUX_VERSION-4.14 = .34
 
 LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
 LINUX_KERNEL_HASH-4.4.121 = 44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
 LINUX_KERNEL_HASH-4.9.91 = 60caa752ec9fa1c426f6a2f37db3f268d0961b67a723b6443949112167b39832
-LINUX_KERNEL_HASH-4.14.32 = cb0979bec663089a43b10cfbeae0cf9673544b0ff5968c33ede614ec0f43b680
+LINUX_KERNEL_HASH-4.14.34 = 782b6c4c85275c382c820e1934d3e6003ef468f43cfc5e7c22bc07c331a12bb9
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
diff --git a/target/linux/bcm53xx/patches-4.14/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch b/target/linux/bcm53xx/patches-4.14/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch
index 7510526..8eb70b4 100644
--- a/target/linux/bcm53xx/patches-4.14/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch
+++ b/target/linux/bcm53xx/patches-4.14/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch
@@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -1205,6 +1205,18 @@ static const struct flash_info *spi_nor_
+@@ -1209,6 +1209,18 @@ static const struct flash_info *spi_nor_
  	}
  	dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n",
  		id[0], id[1], id[2]);
diff --git a/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch b/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
index 1b776fd..32df800 100644
--- a/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
+++ b/target/linux/brcm47xx/patches-4.14/159-cpu_fixes.patch
@@ -63,7 +63,7 @@
  	cache_op(Hit_Invalidate_D, addr);
  	__dflush_epilogue
  }
-@@ -205,6 +240,7 @@ static inline void protected_flush_icach
+@@ -205,6 +240,7 @@ static inline int protected_flush_icache
  #ifdef CONFIG_EVA
  		return protected_cachee_op(Hit_Invalidate_I, addr);
  #else
@@ -71,7 +71,7 @@
  		return protected_cache_op(Hit_Invalidate_I, addr);
  #endif
  	}
-@@ -218,6 +254,7 @@ static inline void protected_flush_icach
+@@ -218,6 +254,7 @@ static inline int protected_flush_icache
   */
  static inline int protected_writeback_dcache_line(unsigned long addr)
  {
@@ -457,7 +457,7 @@
  	/*
 --- a/arch/mips/mm/tlbex.c
 +++ b/arch/mips/mm/tlbex.c
-@@ -971,6 +971,9 @@ build_get_pgde32(u32 **p, unsigned int t
+@@ -971,6 +971,9 @@ void build_get_pgde32(u32 **p, unsigned
  		uasm_i_srl(p, ptr, ptr, SMP_CPUID_PTRSHIFT);
  		uasm_i_addu(p, ptr, tmp, ptr);
  #else
diff --git a/target/linux/brcm47xx/patches-4.14/400-mtd-bcm47xxpart-get-nvram.patch b/target/linux/brcm47xx/patches-4.14/400-mtd-bcm47xxpart-get-nvram.patch
index 7e4ae20..df9d434 100644
--- a/target/linux/brcm47xx/patches-4.14/400-mtd-bcm47xxpart-get-nvram.patch
+++ b/target/linux/brcm47xx/patches-4.14/400-mtd-bcm47xxpart-get-nvram.patch
@@ -8,7 +8,7 @@
  
  	/*
  	 * Some really old flashes (like AT45DB*) had smaller erasesize-s, but
-@@ -269,12 +270,23 @@ static int bcm47xxpart_parse(struct mtd_
+@@ -283,12 +284,23 @@ static int bcm47xxpart_parse(struct mtd_
  		if (buf[0] == NVRAM_HEADER) {
  			bcm47xxpart_add_part(&parts[curr_part++], "nvram",
  					     master->size - blocksize, 0);
diff --git a/target/linux/generic/backport-4.14/313-netfilter-remove-defensive-check-on-malformed-packet.patch b/target/linux/generic/backport-4.14/313-netfilter-remove-defensive-check-on-malformed-packet.patch
index 30b0bc7..5e56d0d 100644
--- a/target/linux/generic/backport-4.14/313-netfilter-remove-defensive-check-on-malformed-packet.patch
+++ b/target/linux/generic/backport-4.14/313-netfilter-remove-defensive-check-on-malformed-packet.patch
@@ -87,9 +87,9 @@ Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
 -	    ip_hdrlen(skb) < sizeof(struct iphdr))
 -		return NF_ACCEPT;
 -
- 	if (ip_is_fragment(ip_hdr(skb))) /* IP_NODEFRAG setsockopt set */
- 		return NF_ACCEPT;
- 
+ 	if (ip_is_fragment(ip_hdr(skb))) { /* IP_NODEFRAG setsockopt set */
+ 		enum ip_conntrack_info ctinfo;
+ 		struct nf_conn *tmpl;
 --- a/net/ipv4/netfilter/nf_nat_l3proto_ipv4.c
 +++ b/net/ipv4/netfilter/nf_nat_l3proto_ipv4.c
 @@ -355,11 +355,6 @@ nf_nat_ipv4_out(void *priv, struct sk_bu
diff --git a/target/linux/generic/backport-4.14/324-netfilter-flow-table-support-for-IPv6.patch b/target/linux/generic/backport-4.14/324-netfilter-flow-table-support-for-IPv6.patch
index a5bbac4..abe7ef0 100644
--- a/target/linux/generic/backport-4.14/324-netfilter-flow-table-support-for-IPv6.patch
+++ b/target/linux/generic/backport-4.14/324-netfilter-flow-table-support-for-IPv6.patch
@@ -26,7 +26,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
  struct dst_entry *ip6_dst_lookup_flow(const struct sock *sk, struct flowi6 *fl6,
 --- a/net/ipv6/ip6_output.c
 +++ b/net/ipv6/ip6_output.c
-@@ -370,7 +370,7 @@ static inline int ip6_forward_finish(str
+@@ -383,7 +383,7 @@ static inline int ip6_forward_finish(str
  	return dst_output(net, sk, skb);
  }
  
@@ -35,7 +35,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
  {
  	unsigned int mtu;
  	struct inet6_dev *idev;
-@@ -390,6 +390,7 @@ static unsigned int ip6_dst_mtu_forward(
+@@ -403,6 +403,7 @@ static unsigned int ip6_dst_mtu_forward(
  
  	return mtu;
  }
diff --git a/target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch b/target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch
index 8a2dbd8..92d7942 100644
--- a/target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch
+++ b/target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch
@@ -80,7 +80,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
  static void nfnl_queue_net_exit_batch(struct list_head *net_exit_list)
 --- a/net/netfilter/x_tables.c
 +++ b/net/netfilter/x_tables.c
-@@ -1719,8 +1719,17 @@ static int __net_init xt_net_init(struct
+@@ -1754,8 +1754,17 @@ static int __net_init xt_net_init(struct
  	return 0;
  }
  
diff --git a/target/linux/generic/backport-4.14/350-ipv6-make-ip6_dst_mtu_forward-inline.patch b/target/linux/generic/backport-4.14/350-ipv6-make-ip6_dst_mtu_forward-inline.patch
index 3a0275b..e16f13a 100644
--- a/target/linux/generic/backport-4.14/350-ipv6-make-ip6_dst_mtu_forward-inline.patch
+++ b/target/linux/generic/backport-4.14/350-ipv6-make-ip6_dst_mtu_forward-inline.patch
@@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  struct dst_entry *ip6_dst_lookup_flow(const struct sock *sk, struct flowi6 *fl6,
 --- a/net/ipv6/ip6_output.c
 +++ b/net/ipv6/ip6_output.c
-@@ -370,28 +370,6 @@ static inline int ip6_forward_finish(str
+@@ -383,28 +383,6 @@ static inline int ip6_forward_finish(str
  	return dst_output(net, sk, skb);
  }
  
diff --git a/target/linux/generic/hack-4.14/250-netfilter_depends.patch b/target/linux/generic/hack-4.14/250-netfilter_depends.patch
index 6f6e1be..264d766 100644
--- a/target/linux/generic/hack-4.14/250-netfilter_depends.patch
+++ b/target/linux/generic/hack-4.14/250-netfilter_depends.patch
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	depends on NETFILTER_ADVANCED
  	help
  	  H.323 is a VoIP signalling protocol from ITU-T. As one of the most
-@@ -1037,7 +1036,6 @@ config NETFILTER_XT_TARGET_SECMARK
+@@ -1046,7 +1045,6 @@ config NETFILTER_XT_TARGET_SECMARK
  
  config NETFILTER_XT_TARGET_TCPMSS
  	tristate '"TCPMSS" target support'
diff --git a/target/linux/generic/hack-4.14/721-phy_packets.patch b/target/linux/generic/hack-4.14/721-phy_packets.patch
index 62d0295..86ff0fe 100644
--- a/target/linux/generic/hack-4.14/721-phy_packets.patch
+++ b/target/linux/generic/hack-4.14/721-phy_packets.patch
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -1386,6 +1386,7 @@ enum netdev_priv_flags {
+@@ -1410,6 +1410,7 @@ enum netdev_priv_flags {
  	IFF_RXFH_CONFIGURED		= 1<<25,
  	IFF_PHONY_HEADROOM		= 1<<26,
  	IFF_MACSEC			= 1<<27,
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  };
  
  #define IFF_802_1Q_VLAN			IFF_802_1Q_VLAN
-@@ -1415,6 +1416,7 @@ enum netdev_priv_flags {
+@@ -1439,6 +1440,7 @@ enum netdev_priv_flags {
  #define IFF_TEAM			IFF_TEAM
  #define IFF_RXFH_CONFIGURED		IFF_RXFH_CONFIGURED
  #define IFF_MACSEC			IFF_MACSEC
@@ -31,7 +31,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  /**
   *	struct net_device - The DEVICE structure.
-@@ -1701,6 +1703,11 @@ struct net_device {
+@@ -1725,6 +1727,11 @@ struct net_device {
  	const struct xfrmdev_ops *xfrmdev_ops;
  #endif
  
@@ -43,7 +43,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	const struct header_ops *header_ops;
  
  	unsigned int		flags;
-@@ -1770,6 +1777,10 @@ struct net_device {
+@@ -1794,6 +1801,10 @@ struct net_device {
  	struct mpls_dev __rcu	*mpls_ptr;
  #endif
  
diff --git a/target/linux/generic/pending-4.14/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch b/target/linux/generic/pending-4.14/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch
index 5835973..9311725 100644
--- a/target/linux/generic/pending-4.14/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch
+++ b/target/linux/generic/pending-4.14/641-netfilter-nf_flow_table-support-hw-offload-through-v.patch
@@ -103,75 +103,76 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 -	indev = dev_get_by_index(net, ifindex);
 -	if (WARN_ON(!indev))
 -		return 0;
-+	if (dev->type != ARPHRD_ETHER)
-+		return;
- 
+-
 -	mutex_lock(&nf_flow_offload_hw_mutex);
 -	ret = indev->netdev_ops->ndo_flow_offload(type, flow);
 -	mutex_unlock(&nf_flow_offload_hw_mutex);
++	if (dev->type != ARPHRD_ETHER)
++		return;
+ 
+-	dev_put(indev);
 +	memcpy(path->eth_src, path->dev->dev_addr, ETH_ALEN);
 +	n = dst_neigh_lookup(tuple->dst_cache, &tuple->src_v4);
 +	if (!n)
 +		return;
  
--	dev_put(indev);
+-	return ret;
 +	memcpy(path->eth_dest, n->ha, ETH_ALEN);
 +	path->flags |= FLOW_OFFLOAD_PATH_ETHERNET;
 +	neigh_release(n);
-+}
+ }
  
--	return ret;
+-static void flow_offload_hw_work_add(struct flow_offload_hw *offload)
 +static int flow_offload_check_path(struct net *net,
 +				   struct flow_offload_tuple *tuple,
 +				   struct flow_offload_hw_path *path)
-+{
+ {
+-	struct net *net;
+-	int ret;
 +	struct net_device *dev;
-+
+ 
+-	if (nf_ct_is_dying(offload->ct))
+-		return;
 +	dev = dev_get_by_index_rcu(net, tuple->iifidx);
 +	if (!dev)
 +		return -ENOENT;
 +
 +	path->dev = dev;
 +	flow_offload_check_ethernet(tuple, path);
-+
+ 
+-	net = read_pnet(&offload->flow_hw_net);
+-	ret = do_flow_offload_hw(net, offload->flow, FLOW_OFFLOAD_ADD);
+-	if (ret >= 0)
+-		offload->flow->flags |= FLOW_OFFLOAD_HW;
 +	if (dev->netdev_ops->ndo_flow_offload_check)
 +		return dev->netdev_ops->ndo_flow_offload_check(path);
 +
 +	return 0;
  }
  
--static void flow_offload_hw_work_add(struct flow_offload_hw *offload)
+-static void flow_offload_hw_work_del(struct flow_offload_hw *offload)
 +static int do_flow_offload_hw(struct flow_offload_hw *offload)
  {
--	struct net *net;
+-	struct net *net = read_pnet(&offload->flow_hw_net);
 +	struct net_device *src_dev = offload->src.dev;
 +	struct net_device *dest_dev = offload->dest.dev;
- 	int ret;
- 
--	if (nf_ct_is_dying(offload->ct))
--		return;
++	int ret;
++
 +	ret = src_dev->netdev_ops->ndo_flow_offload(offload->type,
 +						    offload->flow,
 +						    &offload->src,
 +						    &offload->dest);
- 
--	net = read_pnet(&offload->flow_hw_net);
--	ret = do_flow_offload_hw(net, offload->flow, FLOW_OFFLOAD_ADD);
--	if (ret >= 0)
--		offload->flow->flags |= FLOW_OFFLOAD_HW;
++
 +	/* restore devices in case the driver mangled them */
 +	offload->src.dev = src_dev;
 +	offload->dest.dev = dest_dev;
 +
 +	return ret;
- }
++}
  
--static void flow_offload_hw_work_del(struct flow_offload_hw *offload)
-+static void flow_offload_hw_free(struct flow_offload_hw *offload)
- {
--	struct net *net = read_pnet(&offload->flow_hw_net);
--
 -	do_flow_offload_hw(net, offload->flow, FLOW_OFFLOAD_DEL);
++static void flow_offload_hw_free(struct flow_offload_hw *offload)
++{
 +	dev_put(offload->src.dev);
 +	dev_put(offload->dest.dev);
 +	if (offload->ct)
diff --git a/target/linux/generic/pending-4.14/642-net-8021q-support-hardware-flow-table-offload.patch b/target/linux/generic/pending-4.14/642-net-8021q-support-hardware-flow-table-offload.patch
index cda2e0f..ca340fc 100644
--- a/target/linux/generic/pending-4.14/642-net-8021q-support-hardware-flow-table-offload.patch
+++ b/target/linux/generic/pending-4.14/642-net-8021q-support-hardware-flow-table-offload.patch
@@ -9,18 +9,19 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/net/8021q/vlan_dev.c
 +++ b/net/8021q/vlan_dev.c
-@@ -29,8 +29,10 @@
+@@ -29,9 +29,11 @@
  #include <linux/net_tstamp.h>
  #include <linux/etherdevice.h>
  #include <linux/ethtool.h>
 +#include <linux/netfilter.h>
+ #include <linux/phy.h>
  #include <net/arp.h>
  #include <net/switchdev.h>
 +#include <net/netfilter/nf_flow_table.h>
  
  #include "vlan.h"
  #include "vlanproc.h"
-@@ -762,6 +764,25 @@ static int vlan_dev_get_iflink(const str
+@@ -766,6 +768,25 @@ static int vlan_dev_get_iflink(const str
  	return real_dev->ifindex;
  }
  
@@ -46,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  static const struct ethtool_ops vlan_ethtool_ops = {
  	.get_link_ksettings	= vlan_ethtool_get_link_ksettings,
  	.get_drvinfo	        = vlan_ethtool_get_drvinfo,
-@@ -799,6 +820,7 @@ static const struct net_device_ops vlan_
+@@ -803,6 +824,7 @@ static const struct net_device_ops vlan_
  	.ndo_fix_features	= vlan_dev_fix_features,
  	.ndo_get_lock_subclass  = vlan_dev_get_lock_subclass,
  	.ndo_get_iflink		= vlan_dev_get_iflink,
diff --git a/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch b/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
index 9259fe8..9565412 100644
--- a/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
+++ b/target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  #define PPP_VERSION	"2.4.2"
  
  /*
-@@ -1383,12 +1386,33 @@ static void ppp_dev_priv_destructor(stru
+@@ -1382,12 +1385,33 @@ static void ppp_dev_priv_destructor(stru
  		ppp_destroy_interface(ppp);
  }
  
diff --git a/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
index c544f7a..4a76db0 100644
--- a/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
+++ b/target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
@@ -143,7 +143,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	}
  	return &ip6n->tnls[prio][h];
  }
-@@ -380,6 +391,12 @@ ip6_tnl_dev_uninit(struct net_device *de
+@@ -383,6 +394,12 @@ ip6_tnl_dev_uninit(struct net_device *de
  	struct net *net = t->net;
  	struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id);
  
@@ -156,7 +156,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	if (dev == ip6n->fb_tnl_dev)
  		RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
  	else
-@@ -776,6 +793,107 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t,
+@@ -779,6 +796,107 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t,
  }
  EXPORT_SYMBOL_GPL(ip6_tnl_rcv_ctl);
  
@@ -264,7 +264,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  static int __ip6_tnl_rcv(struct ip6_tnl *tunnel, struct sk_buff *skb,
  			 const struct tnl_ptk_info *tpi,
  			 struct metadata_dst *tun_dst,
-@@ -828,6 +946,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl
+@@ -831,6 +949,27 @@ static int __ip6_tnl_rcv(struct ip6_tnl
  	skb_reset_network_header(skb);
  	memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
  
@@ -292,7 +292,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	__skb_tunnel_rx(skb, tunnel->dev, tunnel->net);
  
  	err = dscp_ecn_decapsulate(tunnel, ipv6h, skb);
-@@ -959,6 +1098,7 @@ static void init_tel_txopt(struct ipv6_t
+@@ -962,6 +1101,7 @@ static void init_tel_txopt(struct ipv6_t
  	opt->ops.opt_nflen = 8;
  }
  
@@ -300,7 +300,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  /**
   * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own
   *   @t: the outgoing tunnel device
-@@ -1301,6 +1441,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1304,6 +1444,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
  {
  	struct ip6_tnl *t = netdev_priv(dev);
  	struct ipv6hdr *ipv6h = ipv6_hdr(skb);
@@ -308,7 +308,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	int encap_limit = -1;
  	__u16 offset;
  	struct flowi6 fl6;
-@@ -1363,6 +1504,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1366,6 +1507,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
  
  	fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL);
  
@@ -327,7 +327,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
  		return -1;
  
-@@ -1491,6 +1644,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1494,6 +1647,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
  	t->parms.link = p->link;
  	t->parms.proto = p->proto;
  	t->parms.fwmark = p->fwmark;
@@ -342,7 +342,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	dst_cache_reset(&t->dst_cache);
  	ip6_tnl_link_config(t);
  	return 0;
-@@ -1529,6 +1690,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
+@@ -1532,6 +1693,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
  	p->flowinfo = u->flowinfo;
  	p->link = u->link;
  	p->proto = u->proto;
@@ -350,7 +350,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	memcpy(p->name, u->name, sizeof(u->name));
  }
  
-@@ -1910,6 +2072,15 @@ static int ip6_tnl_validate(struct nlatt
+@@ -1913,6 +2075,15 @@ static int ip6_tnl_validate(struct nlatt
  	return 0;
  }
  
@@ -366,7 +366,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  static void ip6_tnl_netlink_parms(struct nlattr *data[],
  				  struct __ip6_tnl_parm *parms)
  {
-@@ -1947,6 +2118,46 @@ static void ip6_tnl_netlink_parms(struct
+@@ -1950,6 +2121,46 @@ static void ip6_tnl_netlink_parms(struct
  
  	if (data[IFLA_IPTUN_FWMARK])
  		parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
@@ -413,7 +413,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  }
  
  static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
-@@ -2058,6 +2269,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2061,6 +2272,12 @@ static void ip6_tnl_dellink(struct net_d
  
  static size_t ip6_tnl_get_size(const struct net_device *dev)
  {
@@ -426,7 +426,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	return
  		/* IFLA_IPTUN_LINK */
  		nla_total_size(4) +
-@@ -2087,6 +2304,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2090,6 +2307,24 @@ static size_t ip6_tnl_get_size(const str
  		nla_total_size(0) +
  		/* IFLA_IPTUN_FWMARK */
  		nla_total_size(4) +
@@ -451,7 +451,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  		0;
  }
  
-@@ -2094,6 +2329,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2097,6 +2332,9 @@ static int ip6_tnl_fill_info(struct sk_b
  {
  	struct ip6_tnl *tunnel = netdev_priv(dev);
  	struct __ip6_tnl_parm *parm = &tunnel->parms;
@@ -461,7 +461,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  
  	if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
  	    nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -2103,9 +2341,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2106,9 +2344,27 @@ static int ip6_tnl_fill_info(struct sk_b
  	    nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
  	    nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
  	    nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
@@ -490,7 +490,7 @@ Signed-off-by: Steven Barth <cyrus at openwrt.org>
  	if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
  	    nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
  	    nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
-@@ -2145,6 +2401,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2148,6 +2404,7 @@ static const struct nla_policy ip6_tnl_p
  	[IFLA_IPTUN_ENCAP_DPORT]	= { .type = NLA_U16 },
  	[IFLA_IPTUN_COLLECT_METADATA]	= { .type = NLA_FLAG },
  	[IFLA_IPTUN_FWMARK]		= { .type = NLA_U32 },
diff --git a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 3934688..1ac009b 100644
--- a/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
  	.dst = {
  		.__refcnt	= ATOMIC_INIT(1),
-@@ -2038,6 +2055,11 @@ static struct rt6_info *ip6_route_info_c
+@@ -2041,6 +2058,11 @@ static struct rt6_info *ip6_route_info_c
  			rt->dst.output = ip6_pkt_prohibit_out;
  			rt->dst.input = ip6_pkt_prohibit;
  			break;
@@ -153,7 +153,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		case RTN_THROW:
  		case RTN_UNREACHABLE:
  		default:
-@@ -2763,6 +2785,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -2766,6 +2788,17 @@ static int ip6_pkt_prohibit_out(struct n
  	return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  /*
   *	Allocate a dst for local (unicast / anycast) address.
   */
-@@ -2997,7 +3030,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -3000,7 +3033,8 @@ static int rtm_to_fib6_config(struct sk_
  	if (rtm->rtm_type == RTN_UNREACHABLE ||
  	    rtm->rtm_type == RTN_BLACKHOLE ||
  	    rtm->rtm_type == RTN_PROHIBIT ||
@@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		cfg->fc_flags |= RTF_REJECT;
  
  	if (rtm->rtm_type == RTN_LOCAL)
-@@ -3487,6 +3521,9 @@ static int rt6_fill_node(struct net *net
+@@ -3490,6 +3524,9 @@ static int rt6_fill_node(struct net *net
  		case -EACCES:
  			rtm->rtm_type = RTN_PROHIBIT;
  			break;
@@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		case -EAGAIN:
  			rtm->rtm_type = RTN_THROW;
  			break;
-@@ -3805,6 +3842,8 @@ static int ip6_route_dev_notify(struct n
+@@ -3808,6 +3845,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
  		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -200,7 +200,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
  		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -4032,6 +4071,17 @@ static int __net_init ip6_route_net_init
+@@ -4035,6 +4074,17 @@ static int __net_init ip6_route_net_init
  	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
  	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
  			 ip6_template_metrics, true);
@@ -218,7 +218,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  #endif
  
  	net->ipv6.sysctl.flush_delay = 0;
-@@ -4050,6 +4100,8 @@ out:
+@@ -4053,6 +4103,8 @@ out:
  	return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  out_ip6_prohibit_entry:
  	kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -4067,6 +4119,7 @@ static void __net_exit ip6_route_net_exi
+@@ -4070,6 +4122,7 @@ static void __net_exit ip6_route_net_exi
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  	kfree(net->ipv6.ip6_prohibit_entry);
  	kfree(net->ipv6.ip6_blk_hole_entry);
@@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  #endif
  	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
  }
-@@ -4140,6 +4193,9 @@ void __init ip6_route_init_special_entri
+@@ -4143,6 +4196,9 @@ void __init ip6_route_init_special_entri
  	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
  	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 9ac505e..9de77df 100644
--- a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -1739,6 +1739,8 @@ struct net_device {
+@@ -1763,6 +1763,8 @@ struct net_device {
  	struct netdev_hw_addr_list	mc;
  	struct netdev_hw_addr_list	dev_addrs;
  
diff --git a/target/linux/ipq40xx/patches-4.14/605-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch b/target/linux/ipq40xx/patches-4.14/605-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch
index a52fe28..2ef4221 100644
--- a/target/linux/ipq40xx/patches-4.14/605-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch
+++ b/target/linux/ipq40xx/patches-4.14/605-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch
@@ -41,7 +41,7 @@ Reviewed-by: Grant Grundler <grundler at chromium.org>
  /*
   * This structure holds all XPS maps for device.  Maps are indexed by CPU.
   */
-@@ -1239,6 +1249,9 @@ struct net_device_ops {
+@@ -1258,6 +1268,9 @@ struct net_device_ops {
  						     const struct sk_buff *skb,
  						     u16 rxq_index,
  						     u32 flow_id);
diff --git a/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch b/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch
index 1960326..2e135e6 100644
--- a/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch
+++ b/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch
@@ -129,7 +129,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
  /* 802.11 specific */
  struct wireless_dev;
  /* 802.15.4 specific */
-@@ -1908,6 +1909,7 @@ struct net_device {
+@@ -1932,6 +1933,7 @@ struct net_device {
  	struct netprio_map __rcu *priomap;
  #endif
  	struct phy_device	*phydev;
diff --git a/target/linux/pistachio/patches-4.14/401-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/pistachio/patches-4.14/401-mtd-nor-support-mtd-name-from-device-tree.patch
index 00686aa..eeb1e4d 100644
--- a/target/linux/pistachio/patches-4.14/401-mtd-nor-support-mtd-name-from-device-tree.patch
+++ b/target/linux/pistachio/patches-4.14/401-mtd-nor-support-mtd-name-from-device-tree.patch
@@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma at imgtec.com>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2646,6 +2646,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2650,6 +2650,7 @@ int spi_nor_scan(struct spi_nor *nor, co
  	struct device *dev = nor->dev;
  	struct mtd_info *mtd = &nor->mtd;
  	struct device_node *np = spi_nor_get_flash_node(nor);
@@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma at imgtec.com>
  	int ret;
  	int i;
  
-@@ -2721,7 +2722,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2725,7 +2726,12 @@ int spi_nor_scan(struct spi_nor *nor, co
  		spi_nor_wait_till_ready(nor);
  	}
  
diff --git a/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch b/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch
index 623eaf7..7d3352e 100644
--- a/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch
+++ b/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch
@@ -18,7 +18,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  
  #include <linux/usb/hcd.h>
  #include <linux/usb/ch11.h>
-@@ -5072,6 +5073,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso
+@@ -5075,6 +5076,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso
  
  	retval = -ENOMEM;
  
diff --git a/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch b/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch
index b8819e5..2e7cc33 100644
--- a/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch
+++ b/target/linux/ramips/patches-4.14/0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch
@@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	{ "w25m512jv", INFO(0xef7119, 0, 64 * 1024, 1024,
  			SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) },
  
-@@ -1220,6 +1272,9 @@ static int spi_nor_read(struct mtd_info
+@@ -1224,6 +1276,9 @@ static int spi_nor_read(struct mtd_info
  	if (ret)
  		return ret;
  
@@ -135,7 +135,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	while (len) {
  		loff_t addr = from;
  
-@@ -1244,6 +1299,18 @@ static int spi_nor_read(struct mtd_info
+@@ -1248,6 +1303,18 @@ static int spi_nor_read(struct mtd_info
  	ret = 0;
  
  read_err:
@@ -154,7 +154,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_READ);
  	return ret;
  }
-@@ -1345,6 +1412,10 @@ static int spi_nor_write(struct mtd_info
+@@ -1349,6 +1416,10 @@ static int spi_nor_write(struct mtd_info
  	if (ret)
  		return ret;
  
@@ -165,7 +165,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	for (i = 0; i < len; ) {
  		ssize_t written;
  		loff_t addr = to + i;
-@@ -1385,6 +1456,7 @@ static int spi_nor_write(struct mtd_info
+@@ -1389,6 +1460,7 @@ static int spi_nor_write(struct mtd_info
  	}
  
  write_err:
@@ -173,7 +173,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_WRITE);
  	return ret;
  }
-@@ -2801,8 +2873,10 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -2805,8 +2877,10 @@ int spi_nor_scan(struct spi_nor *nor, co
  	} else if (mtd->size > 0x1000000) {
  		/* enable 4-byte addressing if the device exceeds 16MiB */
  		nor->addr_width = 4;



More information about the lede-commits mailing list