kernel: bump 4.14 to 4.14.212
authorRISCi_ATOM <bob@bobcall.me>
Mon, 28 Dec 2020 18:22:36 +0000 (13:22 -0500)
committerRISCi_ATOM <bob@bobcall.me>
Mon, 28 Dec 2020 18:22:36 +0000 (13:22 -0500)
Refreshed all patches.

Removed patches because included in upstream:
- 315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch

12 files changed:
include/kernel-version.mk
target/linux/ar71xx/patches-4.14/403-mtd_fix_cfi_cmdset_0002_status_check.patch
target/linux/ar71xx/patches-4.14/411-mtd-cfi_cmdset_0002-force-word-write.patch
target/linux/ar71xx/patches-4.14/490-usb-ehci-add-quirks-for-qca-socs.patch
target/linux/ar71xx/patches-4.14/500-MIPS-fw-myloader.patch
target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch
target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch
target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch
target/linux/generic/backport-4.14/315-v5.10-usbnet-ipeth-fix-connectivity-with-ios-14.patch [deleted file]
target/linux/generic/backport-4.14/373-netfilter_actual_sk.patch
target/linux/generic/pending-4.14/499-mtd-parser-cmdline-Fix-parsing-of-part-names-with-co.patch

index 67e6603fab3ae27e04d44beac01d19582dcc526f..a72404ea438245694dc50004c96a824e6dc3ed41 100644 (file)
@@ -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)))))))
index faf4391a57c66fe38f88d58ca301c33fb2f6fe08..1a295fa11dd1e75a7cbdd8110a4c167a90418c64 100644 (file)
@@ -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
                }
        }
  
index 9a367c2ab05533c2db2bce3d7c781bdc03afd9aa..0f7c4d68ed91a688a03629fe8b4690119d15ebcd 100644 (file)
@@ -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;
  }
index f9ee417bb4bc73368dcd87c3c7cbbf30851e7827..a2c8bb3f7d9a548636d7bb2bce064dc2779a1484 100644 (file)
@@ -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);
index 1fdd05a4d9d0d275f40633ef50b5fa7fb85c2a2e..6789fcf6f2160c3df8db76f8a97d182dd275382f 100644 (file)
@@ -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
  
index 22d07f8fbee22a80f12c023e899d80525773e0b7..2f622dc5053d257ac4294656384892b2b1030b58 100644 (file)
        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;
  
  #include <net/if_inet6.h>
 --- 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;
  
        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)
  {
index 68f0100b31e47ced13ed2ae482d3ddacc2523e64..9222bee69414b10bf3d5a038e597afad89ca13b8 100644 (file)
  #include <net/if_inet6.h>
 --- 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;
  
        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)
  {
index cd250a77fbb1aa1632d8ec5c2ac7733ed8e4fd32..5869a5a487bfaf146afa5e67bf464e5aba4754c2 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
 
 --- 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) },
index 4b889120bf53008451d6fa53ca4aa59760929706..ed532a0ee03f45151c5f27af24d6911630e8099f 100644 (file)
@@ -92,7 +92,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  #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 (file)
index aebc875..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From:   Yves-Alexis Perez <corsac@corsac.net>
-Subject: [PATCH] usbnet: ipheth: fix connectivity with iOS 14
-Date:   Thu, 19 Nov 2020 18:24:39 +0100
-Archived-At: <https://lore.kernel.org/stable/20201119172439.94988-1-corsac@corsac.net/>
-List-Post: <mailto:stable@vger.kernel.org>
-
-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 <matti.vuorela@bitfactor.fi>
-Signed-off-by: Yves-Alexis Perez <corsac@corsac.net>
-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)
index 21722ceb23bdb7cbc1126e7cc08e6151115ed0c9..86e4b7aa1c100d8a2e657f6581e4c9594bb8303c 100644 (file)
@@ -52,28 +52,28 @@ Signed-off-by: Aaron Goodman <aaronjg@stanford.edu>
 @@ -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 <net/netfilter/nf_queue.h>
-
  /* 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 <aaronjg@stanford.edu>
 +      __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 <aaronjg@stanford.edu>
 --- 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 <aaronjg@stanford.edu>
 --- 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 <aaronjg@stanford.edu>
 @@ -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 <aaronjg@stanford.edu>
 @@ -18,10 +18,10 @@
  #include <net/ip6_checksum.h>
  #include <net/netfilter/nf_queue.h>
-
 -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 <aaronjg@stanford.edu>
 --- 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 <aaronjg@stanford.edu>
 +++ 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 <aaronjg@stanford.edu>
 -                  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;
index 9bb713e7809c1387f2733e69a16c222ebc313c8b..9fad2663ea8b71ce59d2b99cd4fc122efdbd2ab9 100644 (file)
@@ -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 <sven@narfation.org>
 
-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, ':');