From fb019467b256080e614618b5c73c4f0890913484 Mon Sep 17 00:00:00 2001 From: RISCi_ATOM Date: Mon, 28 Dec 2020 13:22:36 -0500 Subject: [PATCH] kernel: bump 4.14 to 4.14.212 Refreshed all patches. Removed patches because included in upstream: - 315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch --- include/kernel-version.mk | 4 +- ...mtd_fix_cfi_cmdset_0002_status_check.patch | 14 +++--- ...mtd-cfi_cmdset_0002-force-word-write.patch | 6 +-- ...490-usb-ehci-add-quirks-for-qca-socs.patch | 2 +- .../patches-4.14/500-MIPS-fw-myloader.patch | 2 +- .../910-unaligned_access_hacks.patch | 6 +-- .../910-unaligned_access_hacks.patch | 4 +- ...ption-fix-dwm-158-3g-modem-interface.patch | 2 +- ...e-size-of-hook-entry-point-locations.patch | 2 +- ...t-ipeth-fix-connectivity-with-ios-14.patch | 44 ------------------- .../373-netfilter_actual_sk.patch | 32 +++++++------- ...ne-Fix-parsing-of-part-names-with-co.patch | 8 ++-- 12 files changed, 40 insertions(+), 86 deletions(-) delete mode 100644 target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 67e6603fab..a72404ea43 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.14 = .209 +LINUX_VERSION-4.14 = .212 -LINUX_KERNEL_HASH-4.14.209 = 67a114697352783152b00e472de78649f91665cbf600e062d749123f29704cd0 +LINUX_KERNEL_HASH-4.14.212 = 21ea4b847e8412a33f3237107329302c69e278cc734b6bc0027aa540744c60e8 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/ar71xx/patches-4.14/403-mtd_fix_cfi_cmdset_0002_status_check.patch b/target/linux/ar71xx/patches-4.14/403-mtd_fix_cfi_cmdset_0002_status_check.patch index faf4391a57..1a295fa11d 100644 --- a/target/linux/ar71xx/patches-4.14/403-mtd_fix_cfi_cmdset_0002_status_check.patch +++ b/target/linux/ar71xx/patches-4.14/403-mtd_fix_cfi_cmdset_0002_status_check.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -1641,7 +1641,7 @@ static int __xipram do_write_oneword(str +@@ -1640,7 +1640,7 @@ static int __xipram do_write_oneword(str } if (chip_good(map, adr, datum)) @@ -9,7 +9,7 @@ /* Latency issues. Drop the lock, wait a while and retry */ UDELAY(map, chip, adr, 1); -@@ -1658,6 +1658,8 @@ static int __xipram do_write_oneword(str +@@ -1657,6 +1657,8 @@ static int __xipram do_write_oneword(str goto retry; } } @@ -18,7 +18,7 @@ xip_enable(map, chip, adr); op_done: if (mode == FL_OTP_WRITE) -@@ -2240,7 +2242,6 @@ static int cfi_amdstd_panic_write(struct +@@ -2239,7 +2241,6 @@ static int cfi_amdstd_panic_write(struct return 0; } @@ -26,7 +26,7 @@ /* * Handle devices with one erase region, that only implement * the chip erase command. -@@ -2308,7 +2309,7 @@ static int __xipram do_erase_chip(struct +@@ -2307,7 +2308,7 @@ static int __xipram do_erase_chip(struct } if (chip_good(map, adr, map_word_ff(map))) @@ -35,7 +35,7 @@ if (time_after(jiffies, timeo)) { printk(KERN_WARNING "MTD %s(): software timeout\n", -@@ -2332,6 +2333,7 @@ static int __xipram do_erase_chip(struct +@@ -2331,6 +2332,7 @@ static int __xipram do_erase_chip(struct } } @@ -43,7 +43,7 @@ chip->state = FL_READY; xip_enable(map, chip, adr); DISABLE_VPP(map); -@@ -2405,7 +2407,7 @@ static int __xipram do_erase_oneblock(st +@@ -2404,7 +2406,7 @@ static int __xipram do_erase_oneblock(st if (chip_good(map, adr, map_word_ff(map))) { xip_enable(map, chip, adr); @@ -52,7 +52,7 @@ } if (time_after(jiffies, timeo)) { -@@ -2431,6 +2433,7 @@ static int __xipram do_erase_oneblock(st +@@ -2430,6 +2432,7 @@ static int __xipram do_erase_oneblock(st } } diff --git a/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch b/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch index 9a367c2ab0..0f7c4d68ed 100644 --- a/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch +++ b/target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch @@ -35,7 +35,7 @@ /* Atmel chips don't use the same PRI format as AMD chips */ static void fixup_convert_atmel_pri(struct mtd_info *mtd) -@@ -1800,6 +1804,7 @@ static int cfi_amdstd_write_words(struct +@@ -1799,6 +1803,7 @@ static int cfi_amdstd_write_words(struct /* * FIXME: interleaved mode not tested, and probably not supported! */ @@ -43,7 +43,7 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, unsigned long adr, const u_char *buf, int len) -@@ -1932,7 +1937,6 @@ static int __xipram do_write_buffer(stru +@@ -1931,7 +1936,6 @@ static int __xipram do_write_buffer(stru return ret; } @@ -51,7 +51,7 @@ static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) { -@@ -2007,6 +2011,7 @@ static int cfi_amdstd_write_buffers(stru +@@ -2006,6 +2010,7 @@ static int cfi_amdstd_write_buffers(stru return 0; } diff --git a/target/linux/ar71xx/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch b/target/linux/ar71xx/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch index f9ee417bb4..a2c8bb3f7d 100644 --- a/target/linux/ar71xx/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch +++ b/target/linux/ar71xx/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch @@ -1,6 +1,6 @@ --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c -@@ -252,6 +252,37 @@ int ehci_reset(struct ehci_hcd *ehci) +@@ -253,6 +253,37 @@ int ehci_reset(struct ehci_hcd *ehci) command |= CMD_RESET; dbg_cmd (ehci, "reset", command); ehci_writel(ehci, command, &ehci->regs->command); diff --git a/target/linux/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch b/target/linux/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch index 1fdd05a4d9..6789fcf6f2 100644 --- a/target/linux/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch +++ b/target/linux/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch @@ -10,7 +10,7 @@ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1153,6 +1153,9 @@ config MIPS_MSC +@@ -1154,6 +1154,9 @@ config MIPS_MSC config MIPS_NILE4 bool diff --git a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch index 22d07f8fbe..2f622dc505 100644 --- a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch @@ -325,7 +325,7 @@ for (p = *head; p; p = p->next) { --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -464,7 +464,7 @@ static struct neighbour *ipv4_neigh_look +@@ -465,7 +465,7 @@ static struct neighbour *ipv4_neigh_look else if (skb) pkey = &ip_hdr(skb)->daddr; @@ -598,7 +598,7 @@ #include --- a/include/net/inet_ecn.h +++ b/include/net/inet_ecn.h -@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct +@@ -126,9 +126,9 @@ static inline int IP6_ECN_set_ce(struct if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) return 0; @@ -610,7 +610,7 @@ if (skb->ip_summed == CHECKSUM_COMPLETE) skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from), (__force __wsum)to); -@@ -136,7 +136,7 @@ static inline int IP6_ECN_set_ce(struct +@@ -137,7 +137,7 @@ static inline int IP6_ECN_set_ce(struct static inline void IP6_ECN_clear(struct ipv6hdr *iph) { diff --git a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch index 68f0100b31..9222bee694 100644 --- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch @@ -578,7 +578,7 @@ #include --- a/include/net/inet_ecn.h +++ b/include/net/inet_ecn.h -@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct +@@ -126,9 +126,9 @@ static inline int IP6_ECN_set_ce(struct if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) return 0; @@ -590,7 +590,7 @@ if (skb->ip_summed == CHECKSUM_COMPLETE) skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from), (__force __wsum)to); -@@ -136,7 +136,7 @@ static inline int IP6_ECN_set_ce(struct +@@ -137,7 +137,7 @@ static inline int IP6_ECN_set_ce(struct static inline void IP6_ECN_clear(struct ipv6hdr *iph) { diff --git a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch index cd250a77fb..5869a5a487 100644 --- a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch +++ b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch @@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -2011,7 +2011,8 @@ static const struct usb_device_id option +@@ -2012,7 +2012,8 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, diff --git a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch index 4b889120bf..ed532a0ee0 100644 --- a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch +++ b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch @@ -92,7 +92,7 @@ Signed-off-by: Pablo Neira Ayuso #endif --- a/net/bridge/br_netfilter_hooks.c +++ b/net/bridge/br_netfilter_hooks.c -@@ -991,7 +991,7 @@ int br_nf_hook_thresh(unsigned int hook, +@@ -994,7 +994,7 @@ int br_nf_hook_thresh(unsigned int hook, unsigned int i; int ret; diff --git a/target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch b/target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch deleted file mode 100644 index aebc8752b4..0000000000 --- a/target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Yves-Alexis Perez -Subject: [PATCH] usbnet: ipheth: fix connectivity with iOS 14 -Date: Thu, 19 Nov 2020 18:24:39 +0100 -Archived-At: -List-Post: - -Starting with iOS 14 released in September 2020, connectivity using the -personal hotspot USB tethering function of iOS devices is broken. - -Communication between the host and the device (for example ICMP traffic -or DNS resolution using the DNS service running in the device itself) -works fine, but communication to endpoints further away doesn't work. - -Investigation on the matter shows that UDP and ICMP traffic from the -tethered host is reaching the Internet at all. For TCP traffic there are -exchanges between tethered host and server but packets are modified in -transit leading to impossible communication. - -After some trials Matti Vuorela discovered that reducing the URB buffer -size by two bytes restored the previous behavior. While a better -solution might exist to fix the issue, since the protocol is not -publicly documented and considering the small size of the fix, let's do -that. - -Tested-by: Matti Vuorela -Signed-off-by: Yves-Alexis Perez -Link: https://lore.kernel.org/linux-usb/CAAn0qaXmysJ9vx3ZEMkViv_B19ju-_ExN8Yn_uSefxpjS6g4Lw@mail.gmail.com/ -Link: https://github.com/libimobiledevice/libimobiledevice/issues/1038 -Cc: stable@vger.kernel.org ---- - drivers/net/usb/ipheth.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/usb/ipheth.c -+++ b/drivers/net/usb/ipheth.c -@@ -70,7 +70,7 @@ - #define IPHETH_USBINTF_SUBCLASS 253 - #define IPHETH_USBINTF_PROTO 1 - --#define IPHETH_BUF_SIZE 1516 -+#define IPHETH_BUF_SIZE 1514 - #define IPHETH_IP_ALIGN 2 /* padding at front of URB */ - #define IPHETH_TX_TIMEOUT (5 * HZ) - diff --git a/target/linux/generic/backport-4.14/373-netfilter_actual_sk.patch b/target/linux/generic/backport-4.14/373-netfilter_actual_sk.patch index 21722ceb23..86e4b7aa1c 100644 --- a/target/linux/generic/backport-4.14/373-netfilter_actual_sk.patch +++ b/target/linux/generic/backport-4.14/373-netfilter_actual_sk.patch @@ -52,28 +52,28 @@ Signed-off-by: Aaron Goodman @@ -16,7 +16,7 @@ struct ip_rt_info { u_int32_t mark; }; - + -int ip_route_me_harder(struct net *net, struct sk_buff *skb, unsigned addr_type); +int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned addr_type); - + struct nf_queue_entry; - + --- a/include/linux/netfilter_ipv6.h +++ b/include/linux/netfilter_ipv6.h @@ -41,7 +41,7 @@ struct nf_ipv6_ops { }; - + #ifdef CONFIG_NETFILTER -int ip6_route_me_harder(struct net *net, struct sk_buff *skb); +int ip6_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb); __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook, unsigned int dataoff, u_int8_t protocol); - + --- a/net/ipv4/netfilter.c +++ b/net/ipv4/netfilter.c @@ -17,17 +17,19 @@ #include - + /* route_me_harder function, used by iptable_nat, iptable_mangle + ip_queue */ -int ip_route_me_harder(struct net *net, struct sk_buff *skb, unsigned int addr_type) +int ip_route_me_harder(struct net *net, struct sock *sk, struct sk_buff *skb, unsigned int addr_type) @@ -87,7 +87,7 @@ Signed-off-by: Aaron Goodman + __u8 flags; struct net_device *dev = skb_dst(skb)->dev; unsigned int hh_len; - + + sk = sk_to_full_sk(sk); + flags = sk ? inet_sk_flowi_flags(sk) : 0; + @@ -106,13 +106,13 @@ Signed-off-by: Aaron Goodman --- a/net/ipv4/netfilter/ipt_SYNPROXY.c +++ b/net/ipv4/netfilter/ipt_SYNPROXY.c @@ -53,7 +53,7 @@ synproxy_send_tcp(struct net *net, - + skb_dst_set_noref(nskb, skb_dst(skb)); nskb->protocol = htons(ETH_P_IP); - if (ip_route_me_harder(net, nskb, RTN_UNSPEC)) + if (ip_route_me_harder(net, nskb->sk, nskb, RTN_UNSPEC)) goto free_nskb; - + if (nfct) { --- a/net/ipv4/netfilter/iptable_mangle.c +++ b/net/ipv4/netfilter/iptable_mangle.c @@ -128,7 +128,7 @@ Signed-off-by: Aaron Goodman --- a/net/ipv4/netfilter/nf_nat_l3proto_ipv4.c +++ b/net/ipv4/netfilter/nf_nat_l3proto_ipv4.c @@ -397,7 +397,7 @@ nf_nat_ipv4_local_fn(void *priv, struct - + if (ct->tuplehash[dir].tuple.dst.u3.ip != ct->tuplehash[!dir].tuple.src.u3.ip) { - err = ip_route_me_harder(state->net, skb, RTN_UNSPEC); @@ -141,11 +141,11 @@ Signed-off-by: Aaron Goodman @@ -129,7 +129,7 @@ void nf_send_reset(struct net *net, stru ip4_dst_hoplimit(skb_dst(nskb))); nf_reject_ip_tcphdr_put(nskb, oldskb, oth); - + - if (ip_route_me_harder(net, nskb, RTN_UNSPEC)) + if (ip_route_me_harder(net, nskb->sk, nskb, RTN_UNSPEC)) goto free_nskb; - + niph = ip_hdr(nskb); --- a/net/ipv4/netfilter/nft_chain_route_ipv4.c +++ b/net/ipv4/netfilter/nft_chain_route_ipv4.c @@ -163,7 +163,7 @@ Signed-off-by: Aaron Goodman @@ -18,10 +18,10 @@ #include #include - + -int ip6_route_me_harder(struct net *net, struct sk_buff *skb) +int ip6_route_me_harder(struct net *net, struct sock *sk_partial, struct sk_buff *skb) { @@ -196,7 +196,7 @@ Signed-off-by: Aaron Goodman --- a/net/ipv6/netfilter/nf_nat_l3proto_ipv6.c +++ b/net/ipv6/netfilter/nf_nat_l3proto_ipv6.c @@ -414,7 +414,7 @@ nf_nat_ipv6_local_fn(void *priv, struct - + if (!nf_inet_addr_cmp(&ct->tuplehash[dir].tuple.dst.u3, &ct->tuplehash[!dir].tuple.src.u3)) { - err = ip6_route_me_harder(state->net, skb); @@ -219,7 +219,7 @@ Signed-off-by: Aaron Goodman +++ b/net/netfilter/ipvs/ip_vs_core.c @@ -713,12 +713,12 @@ static int ip_vs_route_me_harder(struct struct dst_entry *dst = skb_dst(skb); - + if (dst->dev && !(dst->dev->flags & IFF_LOOPBACK) && - ip6_route_me_harder(ipvs->net, skb) != 0) + ip6_route_me_harder(ipvs->net, skb->sk, skb) != 0) @@ -230,5 +230,5 @@ Signed-off-by: Aaron Goodman - ip_route_me_harder(ipvs->net, skb, RTN_LOCAL) != 0) + ip_route_me_harder(ipvs->net, skb->sk, skb, RTN_LOCAL) != 0) return 1; - + return 0; diff --git a/target/linux/generic/pending-4.14/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch b/target/linux/generic/pending-4.14/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch index 9bb713e780..9fad2663ea 100644 --- a/target/linux/generic/pending-4.14/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch +++ b/target/linux/generic/pending-4.14/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch @@ -23,11 +23,9 @@ Forwarded: https://patchwork.ozlabs.org/project/linux-mtd/patch/20201122001533.9 Fixes: eb13fa022741 ("mtd: parser: cmdline: Support MTD names containing one or more colons") Signed-off-by: Sven Eckelmann -diff --git a/drivers/mtd/cmdlinepart.c b/drivers/mtd/cmdlinepart.c -index 0625b25620ca766318ea4646a6e3761ff4d3a4cc..22881ea4c132ea5a5ba7aebd025d91bf1cd023af 100644 --- a/drivers/mtd/cmdlinepart.c +++ b/drivers/mtd/cmdlinepart.c -@@ -218,7 +218,7 @@ static int mtdpart_setup_real(char *s) +@@ -228,7 +228,7 @@ static int mtdpart_setup_real(char *s) struct cmdline_mtd_partition *this_mtd; struct mtd_partition *parts; int mtd_id_len, num_parts; @@ -36,7 +34,7 @@ index 0625b25620ca766318ea4646a6e3761ff4d3a4cc..22881ea4c132ea5a5ba7aebd025d91bf /* * Replace the first ';' by a NULL char so strrchr can work -@@ -228,6 +228,13 @@ static int mtdpart_setup_real(char *s) +@@ -238,6 +238,13 @@ static int mtdpart_setup_real(char *s) if (semicol) *semicol = '\0'; @@ -50,7 +48,7 @@ index 0625b25620ca766318ea4646a6e3761ff4d3a4cc..22881ea4c132ea5a5ba7aebd025d91bf mtd_id = s; /* -@@ -237,6 +244,10 @@ static int mtdpart_setup_real(char *s) +@@ -247,6 +254,10 @@ static int mtdpart_setup_real(char *s) */ p = strrchr(s, ':'); -- 2.25.1