diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 5cb3742523f..d13f111f984 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -3,11 +3,11 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .124 -LINUX_VERSION-4.9 = .133 +LINUX_VERSION-4.9 = .134 LINUX_VERSION-4.14 = .76 LINUX_KERNEL_HASH-3.18.124 = 25d2a5abd627534a1e51d028890c184aad8e628c345c5fe0cc0f9d7c31b7a5a3 -LINUX_KERNEL_HASH-4.9.133 = 53730fc025ba330a6f4908a6a1e4cb86d821000c84167721680ccf1b37b26563 +LINUX_KERNEL_HASH-4.9.134 = 6dfbe8d122021c874945c0f2ebeace2248e58eed93c10ce61e4a134e70997a77 LINUX_KERNEL_HASH-4.14.76 = ee3f19a4ff8a42793c193e361e1d34fcc821a5ca9b58db41befb2b4df0e482be remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/target/linux/generic/backport-4.9/041-mm-rename-__alloc_page_frag-to-page_frag_alloc-and-_.patch b/target/linux/generic/backport-4.9/041-mm-rename-__alloc_page_frag-to-page_frag_alloc-and-_.patch index fbd33160162..ddf10eb6dd3 100644 --- a/target/linux/generic/backport-4.9/041-mm-rename-__alloc_page_frag-to-page_frag_alloc-and-_.patch +++ b/target/linux/generic/backport-4.9/041-mm-rename-__alloc_page_frag-to-page_frag_alloc-and-_.patch @@ -52,7 +52,7 @@ Signed-off-by: Linus Torvalds #define free_page(addr) free_pages((addr), 0) --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2471,7 +2471,7 @@ static inline struct sk_buff *netdev_all +@@ -2476,7 +2476,7 @@ static inline struct sk_buff *netdev_all static inline void skb_free_frag(void *addr) { diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 90a158ec82e..dffad0216f2 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -399,7 +399,7 @@ Signed-off-by: David S. Miller /* bnx2x_has_rx_work() reads the status block, --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c -@@ -1778,7 +1778,7 @@ static int bnxt_poll_nitroa0(struct napi +@@ -1781,7 +1781,7 @@ static int bnxt_poll_nitroa0(struct napi } if (!bnxt_has_work(bp, cpr) && rx_pkts < budget) { @@ -819,7 +819,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvpp2.c +++ b/drivers/net/ethernet/marvell/mvpp2.c -@@ -5404,7 +5404,7 @@ static int mvpp2_poll(struct napi_struct +@@ -5406,7 +5406,7 @@ static int mvpp2_poll(struct napi_struct if (budget > 0) { cause_rx = 0; diff --git a/target/linux/generic/hack-4.9/721-phy_packets.patch b/target/linux/generic/hack-4.9/721-phy_packets.patch index fbf3c70cac6..b25fdec47a4 100644 --- a/target/linux/generic/hack-4.9/721-phy_packets.patch +++ b/target/linux/generic/hack-4.9/721-phy_packets.patch @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2334,6 +2334,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2339,6 +2339,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2454,16 +2458,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2459,16 +2463,6 @@ static inline struct sk_buff *dev_alloc_ } @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2950,10 +2950,20 @@ static int xmit_one(struct sk_buff *skb, +@@ -2972,10 +2972,20 @@ static int xmit_one(struct sk_buff *skb, if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all)) dev_queue_xmit_nit(skb, dev); diff --git a/target/linux/generic/hack-4.9/902-debloat_proc.patch b/target/linux/generic/hack-4.9/902-debloat_proc.patch index cff61680835..3095f832a27 100644 --- a/target/linux/generic/hack-4.9/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.9/902-debloat_proc.patch @@ -243,7 +243,7 @@ Signed-off-by: Felix Fietkau } --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -1799,10 +1799,12 @@ static int __init setup_vmstat(void) +@@ -1798,10 +1798,12 @@ static int __init setup_vmstat(void) cpu_notifier_register_done(); #endif #ifdef CONFIG_PROC_FS @@ -381,7 +381,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c -@@ -564,6 +564,9 @@ static __net_initdata struct pernet_oper +@@ -565,6 +565,9 @@ static __net_initdata struct pernet_oper int __init ip_misc_proc_init(void) { diff --git a/target/linux/generic/pending-4.9/655-increase_skb_pad.patch b/target/linux/generic/pending-4.9/655-increase_skb_pad.patch index ebd9893aa29..de96d9a41dc 100644 --- a/target/linux/generic/pending-4.9/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-4.9/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2298,7 +2298,7 @@ static inline int pskb_network_may_pull( +@@ -2303,7 +2303,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index 38c2ae647f9..35ffce38ed3 100644 --- a/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -300,15 +300,15 @@ Signed-off-by: Steven Barth /** * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own * @t: the outgoing tunnel device -@@ -1294,6 +1434,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1299,6 +1439,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str { struct ip6_tnl *t = netdev_priv(dev); - struct ipv6hdr *ipv6h = ipv6_hdr(skb); + struct ipv6hdr *ipv6h; + struct __ip6_tnl_fmr *fmr; int encap_limit = -1; __u16 offset; struct flowi6 fl6; -@@ -1352,6 +1493,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1361,6 +1502,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str fl6.flowi6_mark = skb->mark; } @@ -327,7 +327,7 @@ Signed-off-by: Steven Barth if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6)) return -1; -@@ -1479,6 +1632,14 @@ ip6_tnl_change(struct ip6_tnl *t, const +@@ -1488,6 +1641,14 @@ ip6_tnl_change(struct ip6_tnl *t, const t->parms.flowinfo = p->flowinfo; t->parms.link = p->link; t->parms.proto = p->proto; @@ -342,7 +342,7 @@ Signed-off-by: Steven Barth dst_cache_reset(&t->dst_cache); ip6_tnl_link_config(t); return 0; -@@ -1517,6 +1678,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ +@@ -1526,6 +1687,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 memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1894,6 +2056,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1903,6 +2065,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -366,7 +366,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1928,6 +2099,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -1937,6 +2108,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_COLLECT_METADATA]) parms->collect_md = true; @@ -413,7 +413,7 @@ Signed-off-by: Steven Barth } static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[], -@@ -2041,6 +2252,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -2050,6 +2261,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 return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -2068,6 +2285,24 @@ static size_t ip6_tnl_get_size(const str +@@ -2077,6 +2294,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(2) + /* IFLA_IPTUN_COLLECT_METADATA */ nla_total_size(0) + @@ -451,7 +451,7 @@ Signed-off-by: Steven Barth 0; } -@@ -2075,6 +2310,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2084,6 +2319,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 if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -2083,9 +2321,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2092,9 +2330,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) || nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || @@ -490,7 +490,7 @@ Signed-off-by: Steven Barth 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) || -@@ -2123,6 +2379,7 @@ static const struct nla_policy ip6_tnl_p +@@ -2132,6 +2388,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_ENCAP_SPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, diff --git a/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 4d1f6c4c2b9..58518f9cfd2 100644 --- a/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau #endif --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -742,7 +742,8 @@ struct sk_buff { +@@ -747,7 +747,8 @@ struct sk_buff { #ifdef CONFIG_NET_SWITCHDEV __u8 offload_fwd_mark:1; #endif @@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4550,6 +4550,9 @@ static enum gro_result dev_gro_receive(s +@@ -4572,6 +4572,9 @@ static enum gro_result dev_gro_receive(s enum gro_result ret; int grow; @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5838,6 +5841,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5860,6 +5863,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info) -@@ -5910,6 +5955,7 @@ static int __netdev_upper_dev_link(struc +@@ -5932,6 +5977,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -6036,6 +6082,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -6058,6 +6104,7 @@ void netdev_upper_dev_unlink(struct net_ list_for_each_entry(i, &upper_dev->all_adj_list.upper, list) __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr); @@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6636,6 +6683,7 @@ int dev_set_mac_address(struct net_devic +@@ -6660,6 +6707,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch index 06777a3769b..d0570a27194 100644 --- a/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch @@ -546,7 +546,7 @@ Signed-off-by: Yangbo Lu { --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -903,6 +903,7 @@ void kfree_skb(struct sk_buff *skb); +@@ -908,6 +908,7 @@ void kfree_skb(struct sk_buff *skb); void kfree_skb_list(struct sk_buff *segs); void skb_tx_error(struct sk_buff *skb); void consume_skb(struct sk_buff *skb); @@ -554,7 +554,7 @@ Signed-off-by: Yangbo Lu void __kfree_skb(struct sk_buff *skb); extern struct kmem_cache *skbuff_head_cache; -@@ -3059,6 +3060,7 @@ static inline void skb_free_datagram_loc +@@ -3081,6 +3082,7 @@ static inline void skb_free_datagram_loc } int skb_kill_datagram(struct sock *sk, struct sk_buff *skb, unsigned int flags); int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len); @@ -1273,7 +1273,7 @@ Signed-off-by: Yangbo Lu +} --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -1968,6 +1968,23 @@ static void netif_setup_tc(struct net_de +@@ -1990,6 +1990,23 @@ static void netif_setup_tc(struct net_de } } @@ -1297,7 +1297,7 @@ Signed-off-by: Yangbo Lu #ifdef CONFIG_XPS static DEFINE_MUTEX(xps_map_mutex); #define xmap_dereference(P) \ -@@ -6630,9 +6647,18 @@ int dev_set_mtu(struct net_device *dev, +@@ -6652,9 +6669,18 @@ int dev_set_mtu(struct net_device *dev, if (new_mtu == dev->mtu) return 0; @@ -1370,7 +1370,7 @@ Signed-off-by: Yangbo Lu &queue_tx_maxrate.attr, --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c -@@ -3690,7 +3690,7 @@ static int rtnl_get_offload_stats(struct +@@ -3696,7 +3696,7 @@ static int rtnl_get_offload_stats(struct if (!size) continue; @@ -1379,7 +1379,7 @@ Signed-off-by: Yangbo Lu continue; attr = nla_reserve_64bit(skb, attr_id, size, -@@ -3731,7 +3731,7 @@ static int rtnl_get_offload_stats_size(c +@@ -3737,7 +3737,7 @@ static int rtnl_get_offload_stats_size(c for (attr_id = IFLA_OFFLOAD_XSTATS_FIRST; attr_id <= IFLA_OFFLOAD_XSTATS_MAX; attr_id++) {