Просмотр исходного кода

kernel-5.4: bump to 5.4.102 and refresh patches

5.4.102 backported a lot of stuff that our WireGuard backport already
did, in addition to other patches we had, so those patches were
removed from that part of the series. In the process other patches were
refreshed or reworked to account for upstream changes.

This commit involved `update_kernel.sh -v -u 5.4`.

Cc: John Audia <[email protected]>
Cc: David Bauer <[email protected]>
Cc: Petr Štetiar <[email protected]>
Signed-off-by: Jason A. Donenfeld <[email protected]>
Jason A. Donenfeld 4 лет назад
Родитель
Сommit
196f3d586f
99 измененных файлов с 94 добавлено и 617 удалено
  1. 2 2
      include/kernel-version.mk
  2. 1 1
      target/linux/ath79/patches-5.4/450-fix-block-protection-clearing.patch
  3. 2 2
      target/linux/bcm27xx/patches-5.4/950-0798-media-pxa_camera-Use-the-new-set_mbus_config-op.patch
  4. 1 1
      target/linux/bcm63xx/patches-5.4/401-bcm963xx_real_rootfs_length.patch
  5. 0 148
      target/linux/generic/backport-5.4/080-wireguard-0072-icmp-introduce-helper-for-nat-d-source-address-in-ne.patch
  6. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0072-net-WireGuard-secure-network-tunnel.patch
  7. 0 299
      target/linux/generic/backport-5.4/080-wireguard-0073-net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-bef.patch
  8. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0073-wireguard-selftests-import-harness-makefile-for-test.patch
  9. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0074-wireguard-Kconfig-select-parent-dependency-for-crypt.patch
  10. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0075-wireguard-global-fix-spelling-mistakes-in-comments.patch
  11. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0076-wireguard-main-remove-unused-include-linux-version.h.patch
  12. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0077-wireguard-allowedips-use-kfree_rcu-instead-of-call_r.patch
  13. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0078-wireguard-selftests-remove-ancient-kernel-compatibil.patch
  14. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0079-wireguard-queueing-do-not-account-for-pfmemalloc-whe.patch
  15. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0080-wireguard-socket-mark-skbs-as-not-on-list-when-recei.patch
  16. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0081-wireguard-allowedips-fix-use-after-free-in-root_remo.patch
  17. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0082-wireguard-noise-reject-peers-with-low-order-public-k.patch
  18. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0083-wireguard-selftests-ensure-non-addition-of-peers-wit.patch
  19. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0084-wireguard-selftests-tie-socket-waiting-to-target-pid.patch
  20. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0085-wireguard-device-use-icmp_ndo_send-helper.patch
  21. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0086-wireguard-selftests-reduce-complexity-and-fix-make-r.patch
  22. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0087-wireguard-receive-reset-last_under_load-to-zero.patch
  23. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0088-wireguard-send-account-for-mtu-0-devices.patch
  24. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0089-wireguard-socket-remove-extra-call-to-synchronize_ne.patch
  25. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0090-wireguard-selftests-remove-duplicated-include-sys-ty.patch
  26. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0091-wireguard-queueing-account-for-skb-protocol-0.patch
  27. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0092-wireguard-receive-remove-dead-code-from-default-pack.patch
  28. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0093-wireguard-noise-error-out-precomputed-DH-during-hand.patch
  29. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0094-wireguard-send-remove-errant-newline-from-packet_enc.patch
  30. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0095-wireguard-queueing-cleanup-ptr_ring-in-error-path-of.patch
  31. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0096-wireguard-receive-use-tunnel-helpers-for-decapsulati.patch
  32. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0097-wireguard-selftests-use-normal-kernel-stack-size-on-.patch
  33. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0098-wireguard-socket-remove-errant-restriction-on-loopin.patch
  34. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0099-wireguard-send-receive-cond_resched-when-processing-.patch
  35. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0100-wireguard-selftests-initalize-ipv6-members-to-NULL-t.patch
  36. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0101-wireguard-send-receive-use-explicit-unlikely-branch-.patch
  37. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0102-wireguard-selftests-use-newer-iproute2-for-gcc-10.patch
  38. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0103-wireguard-noise-read-preshared-key-while-taking-lock.patch
  39. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0104-wireguard-queueing-preserve-flow-hash-across-packet-.patch
  40. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0105-wireguard-noise-separate-receive-counter-from-send-c.patch
  41. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0106-wireguard-noise-do-not-assign-initiation-time-in-if-.patch
  42. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0107-wireguard-device-avoid-circular-netns-references.patch
  43. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0108-wireguard-receive-account-for-napi_gro_receive-never.patch
  44. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0109-net-ip_tunnel-add-header_ops-for-layer-3-devices.patch
  45. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0110-wireguard-implement-header_ops-parse_protocol-for-AF.patch
  46. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0111-wireguard-queueing-make-use-of-ip_tunnel_parse_proto.patch
  47. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0112-netlink-consistently-use-NLA_POLICY_EXACT_LEN.patch
  48. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0113-netlink-consistently-use-NLA_POLICY_MIN_LEN.patch
  49. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0114-wireguard-noise-take-lock-when-removing-handshake-en.patch
  50. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0115-wireguard-peerlookup-take-lock-before-checking-hash-.patch
  51. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0116-wireguard-selftests-check-that-route_me_harder-packe.patch
  52. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0117-wireguard-avoid-double-unlikely-notation-when-using-.patch
  53. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0118-wireguard-socket-remove-bogus-__be32-annotation.patch
  54. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0119-wireguard-selftests-test-multiple-parallel-streams.patch
  55. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0120-wireguard-peer-put-frequently-used-members-above-cac.patch
  56. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0121-wireguard-device-do-not-generate-ICMP-for-non-IP-pac.patch
  57. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0122-wireguard-queueing-get-rid-of-per-peer-ring-buffers.patch
  58. 0 0
      target/linux/generic/backport-5.4/080-wireguard-0123-wireguard-kconfig-use-arm-chacha-even-with-no-neon.patch
  59. 0 73
      target/linux/generic/backport-5.4/830-v5.12-0002-usb-serial-option-update-interface-mapping-for-ZTE-P685M.patch
  60. 2 2
      target/linux/generic/hack-5.4/204-module_strip.patch
  61. 1 1
      target/linux/generic/hack-5.4/221-module_exports.patch
  62. 3 3
      target/linux/generic/hack-5.4/400-unlock_mx25l6406e_with_4bit_block_protect.patch
  63. 1 1
      target/linux/generic/pending-5.4/450-mtd-spi-nor-allow-NOR-driver-to-write-fewer-bytes-th.patch
  64. 1 1
      target/linux/generic/pending-5.4/465-m25p80-mx-disable-software-protection.patch
  65. 2 2
      target/linux/generic/pending-5.4/466-Revert-mtd-spi-nor-fix-Spansion-regressions-aliased-.patch
  66. 3 3
      target/linux/generic/pending-5.4/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch
  67. 1 1
      target/linux/generic/pending-5.4/476-mtd-spi-nor-add-eon-en25q128.patch
  68. 1 1
      target/linux/generic/pending-5.4/479-mtd-spi-nor-add-xtx-xt25f128b.patch
  69. 12 12
      target/linux/generic/pending-5.4/481-mtd-spi-nor-rework-broken-flash-reset-support.patch
  70. 1 1
      target/linux/generic/pending-5.4/482-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch
  71. 2 2
      target/linux/generic/pending-5.4/482-mtd-spi-nor-fix-4-byte-opcode-support-for-w25q256.patch
  72. 1 1
      target/linux/ipq40xx/patches-5.4/0019-v5.6-mtd-spi-nor-Add-support-for-mx25r3235f.patch
  73. 5 5
      target/linux/ipq806x/patches-5.4/088-v5.8-watchdog-qcom-wdt-disable-pretimeout-on-timer-platfo.patch
  74. 2 2
      target/linux/ipq806x/patches-5.4/093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch
  75. 1 1
      target/linux/ipq806x/patches-5.4/093-7-v5.8-ipq806x-PCI-qcom-Add-ipq8064-rev2-variant.patch
  76. 2 2
      target/linux/ipq806x/patches-5.4/093-8-v5.8-ipq806x-PCI-qcom-Support-pci-speed-set-for-ipq806x.patch
  77. 1 1
      target/linux/lantiq/patches-5.4/0152-lantiq-VPE.patch
  78. 3 3
      target/linux/layerscape/patches-5.4/804-crypto-0001-crypto-add-support-for-TLS-1.0-record-encryption.patch
  79. 2 2
      target/linux/layerscape/patches-5.4/809-jailhouse-0001-ivshmem-net-virtual-network-device-for-Jailhouse.patch
  80. 1 1
      target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch
  81. 1 1
      target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch
  82. 1 1
      target/linux/mediatek/patches-5.4/0310-dts-add-wmac-support-for-mt7622-rfb1.patch
  83. 1 1
      target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch
  84. 2 2
      target/linux/mediatek/patches-5.4/0993-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch
  85. 1 1
      target/linux/mediatek/patches-5.4/1011-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch
  86. 5 5
      target/linux/mediatek/patches-5.4/1012-pci-pcie-mediatek-add-support-for-coherent-DMA.patch
  87. 1 1
      target/linux/mediatek/patches-5.4/1020-spi-nor-w25q512jv.patch
  88. 1 1
      target/linux/mvebu/patches-5.4/005-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch
  89. 4 4
      target/linux/mvebu/patches-5.4/006-net-mvneta-add-basic-XDP-support.patch
  90. 1 1
      target/linux/mvebu/patches-5.4/008-net-mvneta-make-tx-buffer-array-agnostic.patch
  91. 1 1
      target/linux/mvebu/patches-5.4/009-net-mvneta-add-XDP_TX-support.patch
  92. 1 1
      target/linux/mvebu/patches-5.4/014-mvneta-driver-disallow-XDP-program-on-hardware-buffe.patch
  93. 3 3
      target/linux/mvebu/patches-5.4/015-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch
  94. 9 12
      target/linux/mvebu/patches-5.4/312-helios4-dts-status-led-alias.patch
  95. 2 2
      target/linux/mvebu/patches-5.4/700-mvneta-tx-queue-workaround.patch
  96. 2 2
      target/linux/pistachio/patches-5.4/401-mtd-nor-support-mtd-name-from-device-tree.patch
  97. 1 1
      target/linux/ramips/patches-5.4/302-spi-nor-add-gd25q512.patch
  98. 2 2
      target/linux/realtek/patches-5.4/302-clocksource-add-rtl9300-driver.patch
  99. 1 1
      target/linux/sunxi/patches-5.4/400-arm64-allwinner-a64-sopine-Add-Sopine-flash-partitio.patch

+ 2 - 2
include/kernel-version.mk

@@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-5.4 = .101
+LINUX_VERSION-5.4 = .102
 LINUX_VERSION-5.10 = .18
 
-LINUX_KERNEL_HASH-5.4.101 = 4e118c072dbe3209ddeaff32ecc558f7e809d54e661550342079f1ee76d9349d
+LINUX_KERNEL_HASH-5.4.102 = fd697ce1c3f6024d4ae77d4eb5a1552199407b60cb8e90bc621e23cbce639aed
 LINUX_KERNEL_HASH-5.10.18 = 3bc1ee2b1bf73b5ba936721953f3f9599fd165cef906cd5163c68d23cb9bb611
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))

+ 1 - 1
target/linux/ath79/patches-5.4/450-fix-block-protection-clearing.patch

@@ -17,7 +17,7 @@ Signed-off-by: Nick Hainke <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -1985,7 +1985,7 @@ static int sr2_bit7_quad_enable(struct s
+@@ -1987,7 +1987,7 @@ static int sr2_bit7_quad_enable(struct s
  static int spi_nor_clear_sr_bp(struct spi_nor *nor)
  {
  	int ret;

+ 2 - 2
target/linux/bcm27xx/patches-5.4/950-0798-media-pxa_camera-Use-the-new-set_mbus_config-op.patch

@@ -118,7 +118,7 @@ Signed-off-by: Jacopo Mondi <[email protected]>
  static void pxa_camera_setup_cicr(struct pxa_camera_dev *pcdev,
  				  unsigned long flags, __u32 pixfmt)
  {
-@@ -1598,99 +1537,78 @@ static int pxa_camera_init_videobuf2(str
+@@ -1601,99 +1540,78 @@ static int pxa_camera_init_videobuf2(str
   */
  static int pxa_camera_set_bus_param(struct pxa_camera_dev *pcdev)
  {
@@ -271,7 +271,7 @@ Signed-off-by: Jacopo Mondi <[email protected]>
  }
  
  static const struct pxa_mbus_pixelfmt pxa_camera_formats[] = {
-@@ -1738,11 +1656,6 @@ static int pxa_camera_get_formats(struct
+@@ -1741,11 +1659,6 @@ static int pxa_camera_get_formats(struct
  		return 0;
  	}
  

+ 1 - 1
target/linux/bcm63xx/patches-5.4/401-bcm963xx_real_rootfs_length.patch

@@ -15,7 +15,7 @@
  	/* 240-255: Unused at present */
 --- a/drivers/mtd/parsers/parser_imagetag.c
 +++ b/drivers/mtd/parsers/parser_imagetag.c
-@@ -132,7 +132,8 @@ static int bcm963xx_parse_imagetag_parti
+@@ -136,7 +136,8 @@ static int bcm963xx_parse_imagetag_parti
  		} else {
  			/* OpenWrt layout */
  			rootfsaddr = kerneladdr + kernellen;

+ 0 - 148
target/linux/generic/backport-5.4/080-wireguard-0072-icmp-introduce-helper-for-nat-d-source-address-in-ne.patch

@@ -1,148 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jason A. Donenfeld" <[email protected]>
-Date: Tue, 11 Feb 2020 20:47:05 +0100
-Subject: [PATCH] icmp: introduce helper for nat'd source address in network
- device context
-
-commit 0b41713b606694257b90d61ba7e2712d8457648b upstream.
-
-This introduces a helper function to be called only by network drivers
-that wraps calls to icmp[v6]_send in a conntrack transformation, in case
-NAT has been used. We don't want to pollute the non-driver path, though,
-so we introduce this as a helper to be called by places that actually
-make use of this, as suggested by Florian.
-
-Signed-off-by: Jason A. Donenfeld <[email protected]>
-Cc: Florian Westphal <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
-Signed-off-by: Jason A. Donenfeld <[email protected]>
----
- include/linux/icmpv6.h | 10 ++++++++++
- include/net/icmp.h     |  6 ++++++
- net/ipv4/icmp.c        | 33 +++++++++++++++++++++++++++++++++
- net/ipv6/ip6_icmp.c    | 34 ++++++++++++++++++++++++++++++++++
- 4 files changed, 83 insertions(+)
-
---- a/include/linux/icmpv6.h
-+++ b/include/linux/icmpv6.h
-@@ -22,12 +22,22 @@ extern int inet6_unregister_icmp_sender(
- int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type,
- 			       unsigned int data_len);
- 
-+#if IS_ENABLED(CONFIG_NF_NAT)
-+void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info);
-+#else
-+#define icmpv6_ndo_send icmpv6_send
-+#endif
-+
- #else
- 
- static inline void icmpv6_send(struct sk_buff *skb,
- 			       u8 type, u8 code, __u32 info)
- {
-+}
- 
-+static inline void icmpv6_ndo_send(struct sk_buff *skb,
-+				   u8 type, u8 code, __u32 info)
-+{
- }
- #endif
- 
---- a/include/net/icmp.h
-+++ b/include/net/icmp.h
-@@ -43,6 +43,12 @@ static inline void icmp_send(struct sk_b
- 	__icmp_send(skb_in, type, code, info, &IPCB(skb_in)->opt);
- }
- 
-+#if IS_ENABLED(CONFIG_NF_NAT)
-+void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info);
-+#else
-+#define icmp_ndo_send icmp_send
-+#endif
-+
- int icmp_rcv(struct sk_buff *skb);
- int icmp_err(struct sk_buff *skb, u32 info);
- int icmp_init(void);
---- a/net/ipv4/icmp.c
-+++ b/net/ipv4/icmp.c
-@@ -750,6 +750,39 @@ out:;
- }
- EXPORT_SYMBOL(__icmp_send);
- 
-+#if IS_ENABLED(CONFIG_NF_NAT)
-+#include <net/netfilter/nf_conntrack.h>
-+void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info)
-+{
-+	struct sk_buff *cloned_skb = NULL;
-+	enum ip_conntrack_info ctinfo;
-+	struct nf_conn *ct;
-+	__be32 orig_ip;
-+
-+	ct = nf_ct_get(skb_in, &ctinfo);
-+	if (!ct || !(ct->status & IPS_SRC_NAT)) {
-+		icmp_send(skb_in, type, code, info);
-+		return;
-+	}
-+
-+	if (skb_shared(skb_in))
-+		skb_in = cloned_skb = skb_clone(skb_in, GFP_ATOMIC);
-+
-+	if (unlikely(!skb_in || skb_network_header(skb_in) < skb_in->head ||
-+	    (skb_network_header(skb_in) + sizeof(struct iphdr)) >
-+	    skb_tail_pointer(skb_in) || skb_ensure_writable(skb_in,
-+	    skb_network_offset(skb_in) + sizeof(struct iphdr))))
-+		goto out;
-+
-+	orig_ip = ip_hdr(skb_in)->saddr;
-+	ip_hdr(skb_in)->saddr = ct->tuplehash[0].tuple.src.u3.ip;
-+	icmp_send(skb_in, type, code, info);
-+	ip_hdr(skb_in)->saddr = orig_ip;
-+out:
-+	consume_skb(cloned_skb);
-+}
-+EXPORT_SYMBOL(icmp_ndo_send);
-+#endif
- 
- static void icmp_socket_deliver(struct sk_buff *skb, u32 info)
- {
---- a/net/ipv6/ip6_icmp.c
-+++ b/net/ipv6/ip6_icmp.c
-@@ -45,4 +45,38 @@ out:
- 	rcu_read_unlock();
- }
- EXPORT_SYMBOL(icmpv6_send);
-+
-+#if IS_ENABLED(CONFIG_NF_NAT)
-+#include <net/netfilter/nf_conntrack.h>
-+void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info)
-+{
-+	struct sk_buff *cloned_skb = NULL;
-+	enum ip_conntrack_info ctinfo;
-+	struct in6_addr orig_ip;
-+	struct nf_conn *ct;
-+
-+	ct = nf_ct_get(skb_in, &ctinfo);
-+	if (!ct || !(ct->status & IPS_SRC_NAT)) {
-+		icmpv6_send(skb_in, type, code, info);
-+		return;
-+	}
-+
-+	if (skb_shared(skb_in))
-+		skb_in = cloned_skb = skb_clone(skb_in, GFP_ATOMIC);
-+
-+	if (unlikely(!skb_in || skb_network_header(skb_in) < skb_in->head ||
-+	    (skb_network_header(skb_in) + sizeof(struct ipv6hdr)) >
-+	    skb_tail_pointer(skb_in) || skb_ensure_writable(skb_in,
-+	    skb_network_offset(skb_in) + sizeof(struct ipv6hdr))))
-+		goto out;
-+
-+	orig_ip = ipv6_hdr(skb_in)->saddr;
-+	ipv6_hdr(skb_in)->saddr = ct->tuplehash[0].tuple.src.u3.in6;
-+	icmpv6_send(skb_in, type, code, info);
-+	ipv6_hdr(skb_in)->saddr = orig_ip;
-+out:
-+	consume_skb(cloned_skb);
-+}
-+EXPORT_SYMBOL(icmpv6_ndo_send);
-+#endif
- #endif

+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0074-net-WireGuard-secure-network-tunnel.patch → target/linux/generic/backport-5.4/080-wireguard-0072-net-WireGuard-secure-network-tunnel.patch


+ 0 - 299
target/linux/generic/backport-5.4/080-wireguard-0073-net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-bef.patch

@@ -1,299 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jason A. Donenfeld" <[email protected]>
-Date: Tue, 23 Feb 2021 14:18:58 +0100
-Subject: [PATCH] net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before
- sending
-
-commit ee576c47db60432c37e54b1e2b43a8ca6d3a8dca upstream.
-
-The icmp{,v6}_send functions make all sorts of use of skb->cb, casting
-it with IPCB or IP6CB, assuming the skb to have come directly from the
-inet layer. But when the packet comes from the ndo layer, especially
-when forwarded, there's no telling what might be in skb->cb at that
-point. As a result, the icmp sending code risks reading bogus memory
-contents, which can result in nasty stack overflows such as this one
-reported by a user:
-
-    panic+0x108/0x2ea
-    __stack_chk_fail+0x14/0x20
-    __icmp_send+0x5bd/0x5c0
-    icmp_ndo_send+0x148/0x160
-
-In icmp_send, skb->cb is cast with IPCB and an ip_options struct is read
-from it. The optlen parameter there is of particular note, as it can
-induce writes beyond bounds. There are quite a few ways that can happen
-in __ip_options_echo. For example:
-
-    // sptr/skb are attacker-controlled skb bytes
-    sptr = skb_network_header(skb);
-    // dptr/dopt points to stack memory allocated by __icmp_send
-    dptr = dopt->__data;
-    // sopt is the corrupt skb->cb in question
-    if (sopt->rr) {
-        optlen  = sptr[sopt->rr+1]; // corrupt skb->cb + skb->data
-        soffset = sptr[sopt->rr+2]; // corrupt skb->cb + skb->data
-	// this now writes potentially attacker-controlled data, over
-	// flowing the stack:
-        memcpy(dptr, sptr+sopt->rr, optlen);
-    }
-
-In the icmpv6_send case, the story is similar, but not as dire, as only
-IP6CB(skb)->iif and IP6CB(skb)->dsthao are used. The dsthao case is
-worse than the iif case, but it is passed to ipv6_find_tlv, which does
-a bit of bounds checking on the value.
-
-This is easy to simulate by doing a `memset(skb->cb, 0x41,
-sizeof(skb->cb));` before calling icmp{,v6}_ndo_send, and it's only by
-good fortune and the rarity of icmp sending from that context that we've
-avoided reports like this until now. For example, in KASAN:
-
-    BUG: KASAN: stack-out-of-bounds in __ip_options_echo+0xa0e/0x12b0
-    Write of size 38 at addr ffff888006f1f80e by task ping/89
-    CPU: 2 PID: 89 Comm: ping Not tainted 5.10.0-rc7-debug+ #5
-    Call Trace:
-     dump_stack+0x9a/0xcc
-     print_address_description.constprop.0+0x1a/0x160
-     __kasan_report.cold+0x20/0x38
-     kasan_report+0x32/0x40
-     check_memory_region+0x145/0x1a0
-     memcpy+0x39/0x60
-     __ip_options_echo+0xa0e/0x12b0
-     __icmp_send+0x744/0x1700
-
-Actually, out of the 4 drivers that do this, only gtp zeroed the cb for
-the v4 case, while the rest did not. So this commit actually removes the
-gtp-specific zeroing, while putting the code where it belongs in the
-shared infrastructure of icmp{,v6}_ndo_send.
-
-This commit fixes the issue by passing an empty IPCB or IP6CB along to
-the functions that actually do the work. For the icmp_send, this was
-already trivial, thanks to __icmp_send providing the plumbing function.
-For icmpv6_send, this required a tiny bit of refactoring to make it
-behave like the v4 case, after which it was straight forward.
-
-Fixes: a2b78e9b2cac ("sunvnet: generate ICMP PTMUD messages for smaller port MTUs")
-Reported-by: SinYu <[email protected]>
-Reviewed-by: Willem de Bruijn <[email protected]>
-Link: https://lore.kernel.org/netdev/CAF=yD-LOF116aHub6RMe8vB8ZpnrrnoTdqhobEx+bvoA8AsP0w@mail.gmail.com/T/
-Signed-off-by: Jason A. Donenfeld <[email protected]>
-Link: https://lore.kernel.org/r/[email protected]
-Signed-off-by: Jakub Kicinski <[email protected]>
-[Jason: the gtp part didn't apply because it doesn't use icmp_ndo_send on 5.4]
-Signed-off-by: Jason A. Donenfeld <[email protected]>
----
- include/linux/icmpv6.h | 17 ++++++++++++++---
- include/linux/ipv6.h   |  1 -
- include/net/icmp.h     |  6 +++++-
- net/ipv4/icmp.c        |  5 +++--
- net/ipv6/icmp.c        | 16 ++++++++--------
- net/ipv6/ip6_icmp.c    | 12 +++++++-----
- 6 files changed, 37 insertions(+), 20 deletions(-)
-
---- a/include/linux/icmpv6.h
-+++ b/include/linux/icmpv6.h
-@@ -3,6 +3,7 @@
- #define _LINUX_ICMPV6_H
- 
- #include <linux/skbuff.h>
-+#include <linux/ipv6.h>
- #include <uapi/linux/icmpv6.h>
- 
- static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb)
-@@ -13,10 +14,16 @@ static inline struct icmp6hdr *icmp6_hdr
- #include <linux/netdevice.h>
- 
- #if IS_ENABLED(CONFIG_IPV6)
--extern void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info);
-+extern void __icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
-+			  const struct inet6_skb_parm *parm);
- 
-+static inline void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
-+{
-+	__icmpv6_send(skb, type, code, info, IP6CB(skb));
-+}
- typedef void ip6_icmp_send_t(struct sk_buff *skb, u8 type, u8 code, __u32 info,
--			     const struct in6_addr *force_saddr);
-+			     const struct in6_addr *force_saddr,
-+			     const struct inet6_skb_parm *parm);
- extern int inet6_register_icmp_sender(ip6_icmp_send_t *fn);
- extern int inet6_unregister_icmp_sender(ip6_icmp_send_t *fn);
- int ip6_err_gen_icmpv6_unreach(struct sk_buff *skb, int nhs, int type,
-@@ -25,7 +32,11 @@ int ip6_err_gen_icmpv6_unreach(struct sk
- #if IS_ENABLED(CONFIG_NF_NAT)
- void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info);
- #else
--#define icmpv6_ndo_send icmpv6_send
-+static inline void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info)
-+{
-+	struct inet6_skb_parm parm = { 0 };
-+	__icmpv6_send(skb_in, type, code, info, &parm);
-+}
- #endif
- 
- #else
---- a/include/linux/ipv6.h
-+++ b/include/linux/ipv6.h
-@@ -83,7 +83,6 @@ struct ipv6_params {
- 	__s32 autoconf;
- };
- extern struct ipv6_params ipv6_defaults;
--#include <linux/icmpv6.h>
- #include <linux/tcp.h>
- #include <linux/udp.h>
- 
---- a/include/net/icmp.h
-+++ b/include/net/icmp.h
-@@ -46,7 +46,11 @@ static inline void icmp_send(struct sk_b
- #if IS_ENABLED(CONFIG_NF_NAT)
- void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info);
- #else
--#define icmp_ndo_send icmp_send
-+static inline void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info)
-+{
-+	struct ip_options opts = { 0 };
-+	__icmp_send(skb_in, type, code, info, &opts);
-+}
- #endif
- 
- int icmp_rcv(struct sk_buff *skb);
---- a/net/ipv4/icmp.c
-+++ b/net/ipv4/icmp.c
-@@ -755,13 +755,14 @@ EXPORT_SYMBOL(__icmp_send);
- void icmp_ndo_send(struct sk_buff *skb_in, int type, int code, __be32 info)
- {
- 	struct sk_buff *cloned_skb = NULL;
-+	struct ip_options opts = { 0 };
- 	enum ip_conntrack_info ctinfo;
- 	struct nf_conn *ct;
- 	__be32 orig_ip;
- 
- 	ct = nf_ct_get(skb_in, &ctinfo);
- 	if (!ct || !(ct->status & IPS_SRC_NAT)) {
--		icmp_send(skb_in, type, code, info);
-+		__icmp_send(skb_in, type, code, info, &opts);
- 		return;
- 	}
- 
-@@ -776,7 +777,7 @@ void icmp_ndo_send(struct sk_buff *skb_i
- 
- 	orig_ip = ip_hdr(skb_in)->saddr;
- 	ip_hdr(skb_in)->saddr = ct->tuplehash[0].tuple.src.u3.ip;
--	icmp_send(skb_in, type, code, info);
-+	__icmp_send(skb_in, type, code, info, &opts);
- 	ip_hdr(skb_in)->saddr = orig_ip;
- out:
- 	consume_skb(cloned_skb);
---- a/net/ipv6/icmp.c
-+++ b/net/ipv6/icmp.c
-@@ -312,10 +312,9 @@ static int icmpv6_getfrag(void *from, ch
- }
- 
- #if IS_ENABLED(CONFIG_IPV6_MIP6)
--static void mip6_addr_swap(struct sk_buff *skb)
-+static void mip6_addr_swap(struct sk_buff *skb, const struct inet6_skb_parm *opt)
- {
- 	struct ipv6hdr *iph = ipv6_hdr(skb);
--	struct inet6_skb_parm *opt = IP6CB(skb);
- 	struct ipv6_destopt_hao *hao;
- 	struct in6_addr tmp;
- 	int off;
-@@ -332,7 +331,7 @@ static void mip6_addr_swap(struct sk_buf
- 	}
- }
- #else
--static inline void mip6_addr_swap(struct sk_buff *skb) {}
-+static inline void mip6_addr_swap(struct sk_buff *skb, const struct inet6_skb_parm *opt) {}
- #endif
- 
- static struct dst_entry *icmpv6_route_lookup(struct net *net,
-@@ -427,7 +426,8 @@ static int icmp6_iif(const struct sk_buf
-  *	Send an ICMP message in response to a packet in error
-  */
- static void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
--		       const struct in6_addr *force_saddr)
-+		       const struct in6_addr *force_saddr,
-+		       const struct inet6_skb_parm *parm)
- {
- 	struct inet6_dev *idev = NULL;
- 	struct ipv6hdr *hdr = ipv6_hdr(skb);
-@@ -520,7 +520,7 @@ static void icmp6_send(struct sk_buff *s
- 	if (!(skb->dev->flags & IFF_LOOPBACK) && !icmpv6_global_allow(net, type))
- 		goto out_bh_enable;
- 
--	mip6_addr_swap(skb);
-+	mip6_addr_swap(skb, parm);
- 
- 	memset(&fl6, 0, sizeof(fl6));
- 	fl6.flowi6_proto = IPPROTO_ICMPV6;
-@@ -605,7 +605,7 @@ out_bh_enable:
-  */
- void icmpv6_param_prob(struct sk_buff *skb, u8 code, int pos)
- {
--	icmp6_send(skb, ICMPV6_PARAMPROB, code, pos, NULL);
-+	icmp6_send(skb, ICMPV6_PARAMPROB, code, pos, NULL, IP6CB(skb));
- 	kfree_skb(skb);
- }
- 
-@@ -662,10 +662,10 @@ int ip6_err_gen_icmpv6_unreach(struct sk
- 	}
- 	if (type == ICMP_TIME_EXCEEDED)
- 		icmp6_send(skb2, ICMPV6_TIME_EXCEED, ICMPV6_EXC_HOPLIMIT,
--			   info, &temp_saddr);
-+			   info, &temp_saddr, IP6CB(skb2));
- 	else
- 		icmp6_send(skb2, ICMPV6_DEST_UNREACH, ICMPV6_ADDR_UNREACH,
--			   info, &temp_saddr);
-+			   info, &temp_saddr, IP6CB(skb2));
- 	if (rt)
- 		ip6_rt_put(rt);
- 
---- a/net/ipv6/ip6_icmp.c
-+++ b/net/ipv6/ip6_icmp.c
-@@ -31,7 +31,8 @@ int inet6_unregister_icmp_sender(ip6_icm
- }
- EXPORT_SYMBOL(inet6_unregister_icmp_sender);
- 
--void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
-+void __icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
-+		   const struct inet6_skb_parm *parm)
- {
- 	ip6_icmp_send_t *send;
- 
-@@ -40,16 +41,17 @@ void icmpv6_send(struct sk_buff *skb, u8
- 
- 	if (!send)
- 		goto out;
--	send(skb, type, code, info, NULL);
-+	send(skb, type, code, info, NULL, parm);
- out:
- 	rcu_read_unlock();
- }
--EXPORT_SYMBOL(icmpv6_send);
-+EXPORT_SYMBOL(__icmpv6_send);
- 
- #if IS_ENABLED(CONFIG_NF_NAT)
- #include <net/netfilter/nf_conntrack.h>
- void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info)
- {
-+	struct inet6_skb_parm parm = { 0 };
- 	struct sk_buff *cloned_skb = NULL;
- 	enum ip_conntrack_info ctinfo;
- 	struct in6_addr orig_ip;
-@@ -57,7 +59,7 @@ void icmpv6_ndo_send(struct sk_buff *skb
- 
- 	ct = nf_ct_get(skb_in, &ctinfo);
- 	if (!ct || !(ct->status & IPS_SRC_NAT)) {
--		icmpv6_send(skb_in, type, code, info);
-+		__icmpv6_send(skb_in, type, code, info, &parm);
- 		return;
- 	}
- 
-@@ -72,7 +74,7 @@ void icmpv6_ndo_send(struct sk_buff *skb
- 
- 	orig_ip = ipv6_hdr(skb_in)->saddr;
- 	ipv6_hdr(skb_in)->saddr = ct->tuplehash[0].tuple.src.u3.in6;
--	icmpv6_send(skb_in, type, code, info);
-+	__icmpv6_send(skb_in, type, code, info, &parm);
- 	ipv6_hdr(skb_in)->saddr = orig_ip;
- out:
- 	consume_skb(cloned_skb);

+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0075-wireguard-selftests-import-harness-makefile-for-test.patch → target/linux/generic/backport-5.4/080-wireguard-0073-wireguard-selftests-import-harness-makefile-for-test.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0076-wireguard-Kconfig-select-parent-dependency-for-crypt.patch → target/linux/generic/backport-5.4/080-wireguard-0074-wireguard-Kconfig-select-parent-dependency-for-crypt.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0077-wireguard-global-fix-spelling-mistakes-in-comments.patch → target/linux/generic/backport-5.4/080-wireguard-0075-wireguard-global-fix-spelling-mistakes-in-comments.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0078-wireguard-main-remove-unused-include-linux-version.h.patch → target/linux/generic/backport-5.4/080-wireguard-0076-wireguard-main-remove-unused-include-linux-version.h.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0079-wireguard-allowedips-use-kfree_rcu-instead-of-call_r.patch → target/linux/generic/backport-5.4/080-wireguard-0077-wireguard-allowedips-use-kfree_rcu-instead-of-call_r.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0080-wireguard-selftests-remove-ancient-kernel-compatibil.patch → target/linux/generic/backport-5.4/080-wireguard-0078-wireguard-selftests-remove-ancient-kernel-compatibil.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0081-wireguard-queueing-do-not-account-for-pfmemalloc-whe.patch → target/linux/generic/backport-5.4/080-wireguard-0079-wireguard-queueing-do-not-account-for-pfmemalloc-whe.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0082-wireguard-socket-mark-skbs-as-not-on-list-when-recei.patch → target/linux/generic/backport-5.4/080-wireguard-0080-wireguard-socket-mark-skbs-as-not-on-list-when-recei.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0083-wireguard-allowedips-fix-use-after-free-in-root_remo.patch → target/linux/generic/backport-5.4/080-wireguard-0081-wireguard-allowedips-fix-use-after-free-in-root_remo.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0084-wireguard-noise-reject-peers-with-low-order-public-k.patch → target/linux/generic/backport-5.4/080-wireguard-0082-wireguard-noise-reject-peers-with-low-order-public-k.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0085-wireguard-selftests-ensure-non-addition-of-peers-wit.patch → target/linux/generic/backport-5.4/080-wireguard-0083-wireguard-selftests-ensure-non-addition-of-peers-wit.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0086-wireguard-selftests-tie-socket-waiting-to-target-pid.patch → target/linux/generic/backport-5.4/080-wireguard-0084-wireguard-selftests-tie-socket-waiting-to-target-pid.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0087-wireguard-device-use-icmp_ndo_send-helper.patch → target/linux/generic/backport-5.4/080-wireguard-0085-wireguard-device-use-icmp_ndo_send-helper.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0088-wireguard-selftests-reduce-complexity-and-fix-make-r.patch → target/linux/generic/backport-5.4/080-wireguard-0086-wireguard-selftests-reduce-complexity-and-fix-make-r.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0089-wireguard-receive-reset-last_under_load-to-zero.patch → target/linux/generic/backport-5.4/080-wireguard-0087-wireguard-receive-reset-last_under_load-to-zero.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0090-wireguard-send-account-for-mtu-0-devices.patch → target/linux/generic/backport-5.4/080-wireguard-0088-wireguard-send-account-for-mtu-0-devices.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0091-wireguard-socket-remove-extra-call-to-synchronize_ne.patch → target/linux/generic/backport-5.4/080-wireguard-0089-wireguard-socket-remove-extra-call-to-synchronize_ne.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0092-wireguard-selftests-remove-duplicated-include-sys-ty.patch → target/linux/generic/backport-5.4/080-wireguard-0090-wireguard-selftests-remove-duplicated-include-sys-ty.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0093-wireguard-queueing-account-for-skb-protocol-0.patch → target/linux/generic/backport-5.4/080-wireguard-0091-wireguard-queueing-account-for-skb-protocol-0.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0094-wireguard-receive-remove-dead-code-from-default-pack.patch → target/linux/generic/backport-5.4/080-wireguard-0092-wireguard-receive-remove-dead-code-from-default-pack.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0095-wireguard-noise-error-out-precomputed-DH-during-hand.patch → target/linux/generic/backport-5.4/080-wireguard-0093-wireguard-noise-error-out-precomputed-DH-during-hand.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0096-wireguard-send-remove-errant-newline-from-packet_enc.patch → target/linux/generic/backport-5.4/080-wireguard-0094-wireguard-send-remove-errant-newline-from-packet_enc.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0097-wireguard-queueing-cleanup-ptr_ring-in-error-path-of.patch → target/linux/generic/backport-5.4/080-wireguard-0095-wireguard-queueing-cleanup-ptr_ring-in-error-path-of.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0098-wireguard-receive-use-tunnel-helpers-for-decapsulati.patch → target/linux/generic/backport-5.4/080-wireguard-0096-wireguard-receive-use-tunnel-helpers-for-decapsulati.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0099-wireguard-selftests-use-normal-kernel-stack-size-on-.patch → target/linux/generic/backport-5.4/080-wireguard-0097-wireguard-selftests-use-normal-kernel-stack-size-on-.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0100-wireguard-socket-remove-errant-restriction-on-loopin.patch → target/linux/generic/backport-5.4/080-wireguard-0098-wireguard-socket-remove-errant-restriction-on-loopin.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0101-wireguard-send-receive-cond_resched-when-processing-.patch → target/linux/generic/backport-5.4/080-wireguard-0099-wireguard-send-receive-cond_resched-when-processing-.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0102-wireguard-selftests-initalize-ipv6-members-to-NULL-t.patch → target/linux/generic/backport-5.4/080-wireguard-0100-wireguard-selftests-initalize-ipv6-members-to-NULL-t.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0103-wireguard-send-receive-use-explicit-unlikely-branch-.patch → target/linux/generic/backport-5.4/080-wireguard-0101-wireguard-send-receive-use-explicit-unlikely-branch-.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0104-wireguard-selftests-use-newer-iproute2-for-gcc-10.patch → target/linux/generic/backport-5.4/080-wireguard-0102-wireguard-selftests-use-newer-iproute2-for-gcc-10.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0105-wireguard-noise-read-preshared-key-while-taking-lock.patch → target/linux/generic/backport-5.4/080-wireguard-0103-wireguard-noise-read-preshared-key-while-taking-lock.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0106-wireguard-queueing-preserve-flow-hash-across-packet-.patch → target/linux/generic/backport-5.4/080-wireguard-0104-wireguard-queueing-preserve-flow-hash-across-packet-.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0107-wireguard-noise-separate-receive-counter-from-send-c.patch → target/linux/generic/backport-5.4/080-wireguard-0105-wireguard-noise-separate-receive-counter-from-send-c.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0108-wireguard-noise-do-not-assign-initiation-time-in-if-.patch → target/linux/generic/backport-5.4/080-wireguard-0106-wireguard-noise-do-not-assign-initiation-time-in-if-.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0109-wireguard-device-avoid-circular-netns-references.patch → target/linux/generic/backport-5.4/080-wireguard-0107-wireguard-device-avoid-circular-netns-references.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0110-wireguard-receive-account-for-napi_gro_receive-never.patch → target/linux/generic/backport-5.4/080-wireguard-0108-wireguard-receive-account-for-napi_gro_receive-never.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0111-net-ip_tunnel-add-header_ops-for-layer-3-devices.patch → target/linux/generic/backport-5.4/080-wireguard-0109-net-ip_tunnel-add-header_ops-for-layer-3-devices.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0112-wireguard-implement-header_ops-parse_protocol-for-AF.patch → target/linux/generic/backport-5.4/080-wireguard-0110-wireguard-implement-header_ops-parse_protocol-for-AF.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0113-wireguard-queueing-make-use-of-ip_tunnel_parse_proto.patch → target/linux/generic/backport-5.4/080-wireguard-0111-wireguard-queueing-make-use-of-ip_tunnel_parse_proto.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0114-netlink-consistently-use-NLA_POLICY_EXACT_LEN.patch → target/linux/generic/backport-5.4/080-wireguard-0112-netlink-consistently-use-NLA_POLICY_EXACT_LEN.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0115-netlink-consistently-use-NLA_POLICY_MIN_LEN.patch → target/linux/generic/backport-5.4/080-wireguard-0113-netlink-consistently-use-NLA_POLICY_MIN_LEN.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0116-wireguard-noise-take-lock-when-removing-handshake-en.patch → target/linux/generic/backport-5.4/080-wireguard-0114-wireguard-noise-take-lock-when-removing-handshake-en.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0117-wireguard-peerlookup-take-lock-before-checking-hash-.patch → target/linux/generic/backport-5.4/080-wireguard-0115-wireguard-peerlookup-take-lock-before-checking-hash-.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0118-wireguard-selftests-check-that-route_me_harder-packe.patch → target/linux/generic/backport-5.4/080-wireguard-0116-wireguard-selftests-check-that-route_me_harder-packe.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0119-wireguard-avoid-double-unlikely-notation-when-using-.patch → target/linux/generic/backport-5.4/080-wireguard-0117-wireguard-avoid-double-unlikely-notation-when-using-.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0120-wireguard-socket-remove-bogus-__be32-annotation.patch → target/linux/generic/backport-5.4/080-wireguard-0118-wireguard-socket-remove-bogus-__be32-annotation.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0121-wireguard-selftests-test-multiple-parallel-streams.patch → target/linux/generic/backport-5.4/080-wireguard-0119-wireguard-selftests-test-multiple-parallel-streams.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0122-wireguard-peer-put-frequently-used-members-above-cac.patch → target/linux/generic/backport-5.4/080-wireguard-0120-wireguard-peer-put-frequently-used-members-above-cac.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0123-wireguard-device-do-not-generate-ICMP-for-non-IP-pac.patch → target/linux/generic/backport-5.4/080-wireguard-0121-wireguard-device-do-not-generate-ICMP-for-non-IP-pac.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0124-wireguard-queueing-get-rid-of-per-peer-ring-buffers.patch → target/linux/generic/backport-5.4/080-wireguard-0122-wireguard-queueing-get-rid-of-per-peer-ring-buffers.patch


+ 0 - 0
target/linux/generic/backport-5.4/080-wireguard-0125-wireguard-kconfig-use-arm-chacha-even-with-no-neon.patch → target/linux/generic/backport-5.4/080-wireguard-0123-wireguard-kconfig-use-arm-chacha-even-with-no-neon.patch


+ 0 - 73
target/linux/generic/backport-5.4/830-v5.12-0002-usb-serial-option-update-interface-mapping-for-ZTE-P685M.patch

@@ -1,73 +0,0 @@
-From 6420a569504e212d618d4a4736e2c59ed80a8478 Mon Sep 17 00:00:00 2001
-From: Lech Perczak <[email protected]>
-Date: Sun, 7 Feb 2021 01:54:43 +0100
-Subject: USB: serial: option: update interface mapping for ZTE P685M
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch prepares for qmi_wwan driver support for the device.
-Previously "option" driver mapped itself to interfaces 0 and 3 (matching
-ff/ff/ff), while interface 3 is in fact a QMI port.
-Interfaces 1 and 2 (matching ff/00/00) expose AT commands,
-and weren't supported previously at all.
-Without this patch, a possible conflict would exist if device ID was
-added to qmi_wwan driver for interface 3.
-
-Update and simplify device ID to match interfaces 0-2 directly,
-to expose QCDM (0), PCUI (1), and modem (2) ports and avoid conflict
-with QMI (3), and ADB (4).
-
-The modem is used inside ZTE MF283+ router and carriers identify it as
-such.
-Interface mapping is:
-0: QCDM, 1: AT (PCUI), 2: AT (Modem), 3: QMI, 4: ADB
-
-T:  Bus=02 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
-D:  Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
-P:  Vendor=19d2 ProdID=1275 Rev=f0.00
-S:  Manufacturer=ZTE,Incorporated
-S:  Product=ZTE Technologies MSM
-S:  SerialNumber=P685M510ZTED0000CP&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&0
-C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
-I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
-E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
-E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
-E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
-E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
-E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
-E:  Ad=87(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
-E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
-E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-
-Cc: Johan Hovold <[email protected]>
-Cc: Bjørn Mork <[email protected]>
-Signed-off-by: Lech Perczak <[email protected]>
-Link: https://lore.kernel.org/r/[email protected]
-Cc: [email protected]
-Signed-off-by: Johan Hovold <[email protected]>
----
- drivers/usb/serial/option.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/usb/serial/option.c
-+++ b/drivers/usb/serial/option.c
-@@ -1569,7 +1569,8 @@ static const struct usb_device_id option
- 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1272, 0xff, 0xff, 0xff) },
- 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1273, 0xff, 0xff, 0xff) },
- 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1274, 0xff, 0xff, 0xff) },
--	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1275, 0xff, 0xff, 0xff) },
-+	{ USB_DEVICE(ZTE_VENDOR_ID, 0x1275),	/* ZTE P685M */
-+	  .driver_info = RSVD(3) | RSVD(4) },
- 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1276, 0xff, 0xff, 0xff) },
- 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1277, 0xff, 0xff, 0xff) },
- 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1278, 0xff, 0xff, 0xff) },

+ 2 - 2
target/linux/generic/hack-5.4/204-module_strip.patch

@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  config MODULES_TREE_LOOKUP
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -3125,9 +3125,11 @@ static int setup_load_info(struct load_i
+@@ -3142,9 +3142,11 @@ static int setup_load_info(struct load_i
  
  static int check_modinfo(struct module *mod, struct load_info *info, int flags)
  {
@@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (flags & MODULE_INIT_IGNORE_VERMAGIC)
  		modmagic = NULL;
  
-@@ -3148,6 +3150,7 @@ static int check_modinfo(struct module *
+@@ -3165,6 +3167,7 @@ static int check_modinfo(struct module *
  				mod->name);
  		add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
  	}

+ 1 - 1
target/linux/generic/hack-5.4/221-module_exports.patch

@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	}								\
  									\
  	/* __*init sections */						\
-@@ -898,6 +908,8 @@
+@@ -903,6 +913,8 @@
  	EXIT_TEXT							\
  	EXIT_DATA							\
  	EXIT_CALL							\

+ 3 - 3
target/linux/generic/hack-5.4/400-unlock_mx25l6406e_with_4bit_block_protect.patch

@@ -20,7 +20,7 @@
  
  	/* Part specific fixup hooks. */
  	const struct spi_nor_fixups *fixups;
-@@ -1983,6 +1987,9 @@ static int spi_nor_clear_sr_bp(struct sp
+@@ -1985,6 +1989,9 @@ static int spi_nor_clear_sr_bp(struct sp
  	int ret;
  	u8 mask = SR_BP2 | SR_BP1 | SR_BP0;
  
@@ -30,7 +30,7 @@
  	ret = read_sr(nor);
  	if (ret < 0) {
  		dev_err(nor->dev, "error while reading status register\n");
-@@ -2335,7 +2342,7 @@ static const struct flash_info spi_nor_i
+@@ -2337,7 +2344,7 @@ static const struct flash_info spi_nor_i
  	{ "mx25l1606e",  INFO(0xc22015, 0, 64 * 1024,  32, SECT_4K) },
  	{ "mx25l3205d",  INFO(0xc22016, 0, 64 * 1024,  64, SECT_4K) },
  	{ "mx25l3255e",  INFO(0xc29e16, 0, 64 * 1024,  64, SECT_4K) },
@@ -39,7 +39,7 @@
  	{ "mx25u2033e",  INFO(0xc22532, 0, 64 * 1024,   4, SECT_4K) },
  	{ "mx25u3235f",	 INFO(0xc22536, 0, 64 * 1024,  64,
  			 SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-@@ -5024,6 +5031,9 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -5025,6 +5032,9 @@ int spi_nor_scan(struct spi_nor *nor, co
  	if (info->flags & USE_CLSR)
  		nor->flags |= SNOR_F_USE_CLSR;
  

+ 1 - 1
target/linux/generic/pending-5.4/450-mtd-spi-nor-allow-NOR-driver-to-write-fewer-bytes-th.patch

@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2704,7 +2704,7 @@ static int spi_nor_write(struct mtd_info
+@@ -2706,7 +2706,7 @@ static int spi_nor_write(struct mtd_info
  
  		write_enable(nor);
  		ret = spi_nor_write_data(nor, addr, page_remain, buf + i);

+ 1 - 1
target/linux/generic/pending-5.4/465-m25p80-mx-disable-software-protection.patch

@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -4883,6 +4883,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -4884,6 +4884,7 @@ int spi_nor_scan(struct spi_nor *nor, co
  	 */
  	if (JEDEC_MFR(nor->info) == SNOR_MFR_ATMEL ||
  	    JEDEC_MFR(nor->info) == SNOR_MFR_INTEL ||

+ 2 - 2
target/linux/generic/pending-5.4/466-Revert-mtd-spi-nor-fix-Spansion-regressions-aliased-.patch

@@ -17,7 +17,7 @@ Signed-off-by: Matthias Schiffer <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -4397,6 +4397,7 @@ static void st_micron_set_default_init(s
+@@ -4398,6 +4398,7 @@ static void st_micron_set_default_init(s
  
  static void winbond_set_default_init(struct spi_nor *nor)
  {
@@ -25,7 +25,7 @@ Signed-off-by: Matthias Schiffer <[email protected]>
  	nor->params.set_4byte = winbond_set_4byte;
  }
  
-@@ -4885,6 +4886,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -4886,6 +4887,7 @@ int spi_nor_scan(struct spi_nor *nor, co
  	    JEDEC_MFR(nor->info) == SNOR_MFR_INTEL ||
  	    JEDEC_MFR(nor->info) == SNOR_MFR_MACRONIX ||
  	    JEDEC_MFR(nor->info) == SNOR_MFR_SST ||

+ 3 - 3
target/linux/generic/pending-5.4/470-mtd-spi-nor-support-limiting-4K-sectors-support-base.patch

@@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	depends on OF && (ARM || ARM64 || COMPILE_TEST)
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -4463,6 +4463,7 @@ static void spi_nor_info_init_params(str
+@@ -4464,6 +4464,7 @@ static void spi_nor_info_init_params(str
  	struct spi_nor_erase_map *map = &params->erase_map;
  	const struct flash_info *info = nor->info;
  	struct device_node *np = spi_nor_get_flash_node(nor);
@@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	u8 i, erase_mask;
  
  	/* Initialize legacy flash parameters and settings. */
-@@ -4526,6 +4527,21 @@ static void spi_nor_info_init_params(str
+@@ -4527,6 +4528,21 @@ static void spi_nor_info_init_params(str
  	 */
  	erase_mask = 0;
  	i = 0;
@@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (info->flags & SECT_4K_PMC) {
  		erase_mask |= BIT(i);
  		spi_nor_set_erase_type(&map->erase_type[i], 4096u,
-@@ -4537,6 +4553,7 @@ static void spi_nor_info_init_params(str
+@@ -4538,6 +4554,7 @@ static void spi_nor_info_init_params(str
  				       SPINOR_OP_BE_4K);
  		i++;
  	}

+ 1 - 1
target/linux/generic/pending-5.4/476-mtd-spi-nor-add-eon-en25q128.patch

@@ -8,7 +8,7 @@ Signed-off-by: Piotr Dymacz <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2177,6 +2177,7 @@ static const struct flash_info spi_nor_i
+@@ -2179,6 +2179,7 @@ static const struct flash_info spi_nor_i
  	{ "en25q32b",   INFO(0x1c3016, 0, 64 * 1024,   64, 0) },
  	{ "en25p64",    INFO(0x1c2017, 0, 64 * 1024,  128, 0) },
  	{ "en25q64",    INFO(0x1c3017, 0, 64 * 1024,  128, SECT_4K) },

+ 1 - 1
target/linux/generic/pending-5.4/479-mtd-spi-nor-add-xtx-xt25f128b.patch

@@ -30,7 +30,7 @@ Signed-off-by: Daniel Golle <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2504,6 +2504,9 @@ static const struct flash_info spi_nor_i
+@@ -2506,6 +2506,9 @@ static const struct flash_info spi_nor_i
  	/* XMC (Wuhan Xinxin Semiconductor Manufacturing Corp.) */
  	{ "XM25QH64A", INFO(0x207017, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
  	{ "XM25QH128A", INFO(0x207018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },

+ 12 - 12
target/linux/generic/pending-5.4/481-mtd-spi-nor-rework-broken-flash-reset-support.patch

@@ -42,7 +42,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  static int macronix_set_4byte(struct spi_nor *nor, bool enable)
  {
  	if (nor->spimem) {
-@@ -1259,6 +1275,10 @@ static int spi_nor_erase(struct mtd_info
+@@ -1261,6 +1277,10 @@ static int spi_nor_erase(struct mtd_info
  	if (ret)
  		return ret;
  
@@ -53,7 +53,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  	/* whole-chip erase? */
  	if (len == mtd->size && !(nor->flags & SNOR_F_NO_OP_CHIP_ERASE)) {
  		unsigned long timeout;
-@@ -1315,6 +1335,7 @@ static int spi_nor_erase(struct mtd_info
+@@ -1317,6 +1337,7 @@ static int spi_nor_erase(struct mtd_info
  	write_disable(nor);
  
  erase_err:
@@ -61,7 +61,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_ERASE);
  
  	return ret;
-@@ -1621,7 +1642,9 @@ static int spi_nor_lock(struct mtd_info
+@@ -1623,7 +1644,9 @@ static int spi_nor_lock(struct mtd_info
  	if (ret)
  		return ret;
  
@@ -71,7 +71,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_UNLOCK);
  	return ret;
-@@ -1636,7 +1659,9 @@ static int spi_nor_unlock(struct mtd_inf
+@@ -1638,7 +1661,9 @@ static int spi_nor_unlock(struct mtd_inf
  	if (ret)
  		return ret;
  
@@ -81,7 +81,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_LOCK);
  	return ret;
-@@ -1651,7 +1676,9 @@ static int spi_nor_is_locked(struct mtd_
+@@ -1653,7 +1678,9 @@ static int spi_nor_is_locked(struct mtd_
  	if (ret)
  		return ret;
  
@@ -91,7 +91,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_LOCK);
  	return ret;
-@@ -2557,6 +2584,10 @@ static int spi_nor_read(struct mtd_info
+@@ -2559,6 +2586,10 @@ static int spi_nor_read(struct mtd_info
  	if (ret)
  		return ret;
  
@@ -102,7 +102,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  	while (len) {
  		loff_t addr = from;
  
-@@ -2580,6 +2611,7 @@ static int spi_nor_read(struct mtd_info
+@@ -2582,6 +2613,7 @@ static int spi_nor_read(struct mtd_info
  	ret = 0;
  
  read_err:
@@ -110,7 +110,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_READ);
  	return ret;
  }
-@@ -2597,6 +2629,10 @@ static int sst_write(struct mtd_info *mt
+@@ -2599,6 +2631,10 @@ static int sst_write(struct mtd_info *mt
  	if (ret)
  		return ret;
  
@@ -121,7 +121,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  	write_enable(nor);
  
  	nor->sst_write_second = false;
-@@ -2659,6 +2695,7 @@ static int sst_write(struct mtd_info *mt
+@@ -2661,6 +2697,7 @@ static int sst_write(struct mtd_info *mt
  	}
  sst_write_err:
  	*retlen += actual;
@@ -129,7 +129,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_WRITE);
  	return ret;
  }
-@@ -2681,6 +2718,10 @@ static int spi_nor_write(struct mtd_info
+@@ -2683,6 +2720,10 @@ static int spi_nor_write(struct mtd_info
  	if (ret)
  		return ret;
  
@@ -140,7 +140,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  	for (i = 0; i < len; ) {
  		ssize_t written;
  		loff_t addr = to + i;
-@@ -2720,6 +2761,7 @@ static int spi_nor_write(struct mtd_info
+@@ -2722,6 +2763,7 @@ static int spi_nor_write(struct mtd_info
  	}
  
  write_err:
@@ -148,7 +148,7 @@ Signed-off-by: Chuanhong Guo <[email protected]>
  	spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_WRITE);
  	return ret;
  }
-@@ -4725,9 +4767,13 @@ static int spi_nor_init(struct spi_nor *
+@@ -4726,9 +4768,13 @@ static int spi_nor_init(struct spi_nor *
  		 * reboots (e.g., crashes). Warn the user (or hopefully, system
  		 * designer) that this is bad.
  		 */

+ 1 - 1
target/linux/generic/pending-5.4/482-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch

@@ -10,7 +10,7 @@ Signed-off-by: Koen Vandeputte <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2230,6 +2230,11 @@ static const struct flash_info spi_nor_i
+@@ -2232,6 +2232,11 @@ static const struct flash_info spi_nor_i
  
  	/* GigaDevice */
  	{

+ 2 - 2
target/linux/generic/pending-5.4/482-mtd-spi-nor-fix-4-byte-opcode-support-for-w25q256.patch

@@ -15,7 +15,7 @@ Signed-off-by: Mantas Pucka <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2170,6 +2170,32 @@ static struct spi_nor_fixups gd25q256_fi
+@@ -2172,6 +2172,32 @@ static struct spi_nor_fixups gd25q256_fi
  	.default_init = gd25q256_default_init,
  };
  
@@ -48,7 +48,7 @@ Signed-off-by: Mantas Pucka <[email protected]>
  /* NOTE: double check command sets and memory organization when you add
   * more nor chips.  This current list focusses on newer chips, which
   * have been converging on command sets which including JEDEC ID.
-@@ -2513,7 +2539,8 @@ static const struct flash_info spi_nor_i
+@@ -2515,7 +2541,8 @@ static const struct flash_info spi_nor_i
  	{ "w25q80", INFO(0xef5014, 0, 64 * 1024,  16, SECT_4K) },
  	{ "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) },
  	{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },

+ 1 - 1
target/linux/ipq40xx/patches-5.4/0019-v5.6-mtd-spi-nor-Add-support-for-mx25r3235f.patch

@@ -18,7 +18,7 @@ Signed-off-by: Tudor Ambarus <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2351,6 +2351,8 @@ static const struct flash_info spi_nor_i
+@@ -2353,6 +2353,8 @@ static const struct flash_info spi_nor_i
  	{ "mx25u6435f",  INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) },
  	{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
  	{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },

+ 5 - 5
target/linux/ipq806x/patches-5.4/088-v5.8-watchdog-qcom-wdt-disable-pretimeout-on-timer-platfo.patch

@@ -20,7 +20,7 @@ Signed-off-by: Wim Van Sebroeck <[email protected]>
 
 --- a/drivers/watchdog/qcom-wdt.c
 +++ b/drivers/watchdog/qcom-wdt.c
-@@ -40,6 +40,11 @@ static const u32 reg_offset_data_kpss[]
+@@ -39,6 +39,11 @@ static const u32 reg_offset_data_kpss[]
  	[WDT_BITE_TIME] = 0x14,
  };
  
@@ -32,7 +32,7 @@ Signed-off-by: Wim Van Sebroeck <[email protected]>
  struct qcom_wdt {
  	struct watchdog_device	wdd;
  	unsigned long		rate;
-@@ -179,19 +184,29 @@ static void qcom_clk_disable_unprepare(v
+@@ -168,19 +173,29 @@ static void qcom_clk_disable_unprepare(v
  	clk_disable_unprepare(data);
  }
  
@@ -65,7 +65,7 @@ Signed-off-by: Wim Van Sebroeck <[email protected]>
  		dev_err(dev, "Unsupported QCOM WDT module\n");
  		return -ENODEV;
  	}
-@@ -247,7 +262,7 @@ static int qcom_wdt_probe(struct platfor
+@@ -236,7 +251,7 @@ static int qcom_wdt_probe(struct platfor
  
  	/* check if there is pretimeout support */
  	irq = platform_get_irq_optional(pdev, 0);
@@ -74,7 +74,7 @@ Signed-off-by: Wim Van Sebroeck <[email protected]>
  		ret = devm_request_irq(dev, irq, qcom_wdt_isr,
  				       IRQF_TRIGGER_RISING,
  				       "wdt_bark", &wdt->wdd);
-@@ -267,7 +282,7 @@ static int qcom_wdt_probe(struct platfor
+@@ -256,7 +271,7 @@ static int qcom_wdt_probe(struct platfor
  	wdt->wdd.min_timeout = 1;
  	wdt->wdd.max_timeout = 0x10000000U / wdt->rate;
  	wdt->wdd.parent = dev;
@@ -83,7 +83,7 @@ Signed-off-by: Wim Van Sebroeck <[email protected]>
  
  	if (readl(wdt_addr(wdt, WDT_STS)) & 1)
  		wdt->wdd.bootstatus = WDIOF_CARDRESET;
-@@ -311,9 +326,9 @@ static int __maybe_unused qcom_wdt_resum
+@@ -300,9 +315,9 @@ static int __maybe_unused qcom_wdt_resum
  static SIMPLE_DEV_PM_OPS(qcom_wdt_pm_ops, qcom_wdt_suspend, qcom_wdt_resume);
  
  static const struct of_device_id qcom_wdt_of_table[] = {

+ 2 - 2
target/linux/ipq806x/patches-5.4/093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch

@@ -161,7 +161,7 @@ Acked-by: Stanimir Varbanov <[email protected]>
  
  	/* enable PCIe clocks and resets */
  	val = readl(pcie->parf + PCIE20_PARF_PHY_CTRL);
-@@ -406,36 +393,6 @@ static int qcom_pcie_init_2_1_0(struct q
+@@ -408,36 +395,6 @@ static int qcom_pcie_init_2_1_0(struct q
  	val |= PHY_REFCLK_SSP_EN;
  	writel(val, pcie->parf + PCIE20_PARF_PHY_REFCLK);
  
@@ -198,7 +198,7 @@ Acked-by: Stanimir Varbanov <[email protected]>
  	/* wait for clock acquisition */
  	usleep_range(1000, 1500);
  
-@@ -448,15 +405,19 @@ static int qcom_pcie_init_2_1_0(struct q
+@@ -450,15 +407,19 @@ static int qcom_pcie_init_2_1_0(struct q
  
  	return 0;
  

+ 1 - 1
target/linux/ipq806x/patches-5.4/093-7-v5.8-ipq806x-PCI-qcom-Add-ipq8064-rev2-variant.patch

@@ -26,7 +26,7 @@ Acked-by: Stanimir Varbanov <[email protected]>
  		writel(PCS_DEEMPH_TX_DEEMPH_GEN1(24) |
  			       PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(24) |
  			       PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(34),
-@@ -1328,6 +1329,7 @@ err_pm_runtime_put:
+@@ -1330,6 +1331,7 @@ err_pm_runtime_put:
  static const struct of_device_id qcom_pcie_match[] = {
  	{ .compatible = "qcom,pcie-apq8084", .data = &ops_1_0_0 },
  	{ .compatible = "qcom,pcie-ipq8064", .data = &ops_2_1_0 },

+ 2 - 2
target/linux/ipq806x/patches-5.4/093-8-v5.8-ipq806x-PCI-qcom-Support-pci-speed-set-for-ipq806x.patch

@@ -49,7 +49,7 @@ Backported with light changes:
  };
  
  #define to_qcom_pcie(x)		dev_get_drvdata((x)->dev)
-@@ -397,6 +401,11 @@ static int qcom_pcie_init_2_1_0(struct q
+@@ -399,6 +403,11 @@ static int qcom_pcie_init_2_1_0(struct q
  	/* wait for clock acquisition */
  	usleep_range(1000, 1500);
  
@@ -61,7 +61,7 @@ Backported with light changes:
  
  	/* Set the Max TLP size to 2K, instead of using default of 4K */
  	writel(CFG_REMOTE_RD_REQ_BRIDGE_SIZE_2K,
-@@ -1261,6 +1270,10 @@ static int qcom_pcie_probe(struct platfo
+@@ -1263,6 +1272,10 @@ static int qcom_pcie_probe(struct platfo
  		goto err_pm_runtime_put;
  	}
  

+ 1 - 1
target/linux/lantiq/patches-5.4/0152-lantiq-VPE.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -2377,6 +2377,12 @@ config MIPS_VPE_LOADER
+@@ -2378,6 +2378,12 @@ config MIPS_VPE_LOADER
  	  Includes a loader for loading an elf relocatable object
  	  onto another VPE and running it.
  

+ 3 - 3
target/linux/layerscape/patches-5.4/804-crypto-0001-crypto-add-support-for-TLS-1.0-record-encryption.patch

@@ -28,7 +28,7 @@ Signed-off-by: Horia Geantă <[email protected]>
 
 --- a/crypto/Kconfig
 +++ b/crypto/Kconfig
-@@ -342,6 +342,26 @@ config CRYPTO_ECHAINIV
+@@ -349,6 +349,26 @@ config CRYPTO_ECHAINIV
  	  a sequence number xored with a salt.  This is the default
  	  algorithm for CBC.
  
@@ -57,7 +57,7 @@ Signed-off-by: Horia Geantă <[email protected]>
  config CRYPTO_CBC
 --- a/crypto/Makefile
 +++ b/crypto/Makefile
-@@ -143,6 +143,7 @@ obj-$(CONFIG_CRYPTO_CRC32) += crc32_gene
+@@ -144,6 +144,7 @@ obj-$(CONFIG_CRYPTO_CRC32) += crc32_gene
  obj-$(CONFIG_CRYPTO_CRCT10DIF) += crct10dif_common.o crct10dif_generic.o
  obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o authencesn.o
  obj-$(CONFIG_CRYPTO_LZO) += lzo.o lzo-rle.o
@@ -329,7 +329,7 @@ Signed-off-by: Horia Geantă <[email protected]>
  static int alg_test_aead(const struct alg_test_desc *desc, const char *driver,
  			 u32 type, u32 mask)
  {
-@@ -5012,6 +5241,15 @@ static const struct alg_test_desc alg_te
+@@ -5042,6 +5271,15 @@ static const struct alg_test_desc alg_te
  			.hash = __VECS(tgr192_tv_template)
  		}
  	}, {

+ 2 - 2
target/linux/layerscape/patches-5.4/809-jailhouse-0001-ivshmem-net-virtual-network-device-for-Jailhouse.patch

@@ -15,7 +15,7 @@ Work in progress.
 
 --- a/drivers/net/Kconfig
 +++ b/drivers/net/Kconfig
-@@ -528,4 +528,8 @@ config NET_FAILOVER
+@@ -571,4 +571,8 @@ config NET_FAILOVER
  	  a VM with direct attached VF by failing over to the paravirtual
  	  datapath when the VF is unplugged.
  
@@ -26,7 +26,7 @@ Work in progress.
  endif # NETDEVICES
 --- a/drivers/net/Makefile
 +++ b/drivers/net/Makefile
-@@ -79,3 +79,5 @@ thunderbolt-net-y += thunderbolt.o
+@@ -80,3 +80,5 @@ thunderbolt-net-y += thunderbolt.o
  obj-$(CONFIG_THUNDERBOLT_NET) += thunderbolt-net.o
  obj-$(CONFIG_NETDEVSIM) += netdevsim/
  obj-$(CONFIG_NET_FAILOVER) += net_failover.o

+ 1 - 1
target/linux/layerscape/patches-5.4/817-spi-0006-LF-20-2-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch

@@ -11,7 +11,7 @@ Signed-off-by: Kuldeep Singh <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2417,7 +2417,7 @@ static const struct flash_info spi_nor_i
+@@ -2419,7 +2419,7 @@ static const struct flash_info spi_nor_i
  	{ "s25fl512s",  INFO6(0x010220, 0x4d0080, 256 * 1024, 256,
  			SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
  			SPI_NOR_HAS_LOCK | USE_CLSR) },

+ 1 - 1
target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch

@@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <[email protected]>
  	 * All 3.1 IP version constants are greater than the 3.0 IP
 --- a/drivers/usb/dwc3/gadget.c
 +++ b/drivers/usb/dwc3/gadget.c
-@@ -3543,6 +3543,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3558,6 +3558,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
  	dwc->gadget.sg_supported	= true;
  	dwc->gadget.name		= "dwc3-gadget";
  	dwc->gadget.lpm_capable		= true;

+ 1 - 1
target/linux/mediatek/patches-5.4/0310-dts-add-wmac-support-for-mt7622-rfb1.patch

@@ -1,6 +1,6 @@
 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
 +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
-@@ -714,6 +714,17 @@
+@@ -716,6 +716,17 @@
  		status = "disabled";
  	};
  

+ 1 - 1
target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch

@@ -52,7 +52,7 @@ Signed-off-by: David S. Miller <[email protected]>
     when making changes to the MAC configuration.  This means the
 --- a/drivers/net/ethernet/marvell/mvneta.c
 +++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -3653,9 +3653,11 @@ static void mvneta_mac_link_down(struct
+@@ -3655,9 +3655,11 @@ static void mvneta_mac_link_down(struct
  	mvneta_set_eee(pp, false);
  }
  

+ 2 - 2
target/linux/mediatek/patches-5.4/0993-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch

@@ -281,7 +281,7 @@ Signed-off-by: chuanjia.liu <[email protected]>
  &pio {
 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
 +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
-@@ -792,45 +792,41 @@
+@@ -794,45 +794,41 @@
  		#reset-cells = <1>;
  	};
  
@@ -344,7 +344,7 @@ Signed-off-by: chuanjia.liu <[email protected]>
  			interrupt-map-mask = <0 0 0 7>;
  			interrupt-map = <0 0 0 1 &pcie_intc0 0>,
  					<0 0 0 2 &pcie_intc0 1>,
-@@ -842,15 +838,39 @@
+@@ -844,15 +840,39 @@
  				#interrupt-cells = <1>;
  			};
  		};

+ 1 - 1
target/linux/mediatek/patches-5.4/1011-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch

@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  			interface-type = "ace";
  			reg = <0x5000 0x1000>;
  		};
-@@ -967,6 +967,8 @@
+@@ -969,6 +969,8 @@
  		power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
  		mediatek,ethsys = <&ethsys>;
  		mediatek,sgmiisys = <&sgmiisys>;

+ 5 - 5
target/linux/mediatek/patches-5.4/1012-pci-pcie-mediatek-add-support-for-coherent-DMA.patch

@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
 +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
-@@ -803,6 +803,8 @@
+@@ -805,6 +805,8 @@
  		reg = <0 0x1a143000 0 0x1000>;
  		reg-names = "port0";
  		mediatek,pcie-cfg = <&pciecfg>;
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		#address-cells = <3>;
  		#size-cells = <2>;
  		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>;
-@@ -820,6 +822,7 @@
+@@ -822,6 +824,7 @@
  		bus-range = <0x00 0xff>;
  		ranges = <0x82000000 0 0x20000000  0x0 0x20000000  0 0x8000000>;
  		status = "disabled";
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  		slot0: pcie@0,0 {
  			reg = <0x0000 0 0 0 0>;
-@@ -846,6 +849,8 @@
+@@ -848,6 +851,8 @@
  		reg = <0 0x1a145000 0 0x1000>;
  		reg-names = "port1";
  		mediatek,pcie-cfg = <&pciecfg>;
@@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  		#address-cells = <3>;
  		#size-cells = <2>;
  		interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>;
-@@ -864,6 +869,7 @@
+@@ -866,6 +871,7 @@
  		bus-range = <0x00 0xff>;
  		ranges = <0x82000000 0 0x28000000  0x0 0x28000000  0 0x8000000>;
  		status = "disabled";
@@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
  		slot1: pcie@1,0 {
  			reg = <0x0800 0 0 0 0>;
-@@ -923,6 +929,11 @@
+@@ -925,6 +931,11 @@
  		};
  	};
  

+ 1 - 1
target/linux/mediatek/patches-5.4/1020-spi-nor-w25q512jv.patch

@@ -13,7 +13,7 @@ Ref: https://patchwork.ozlabs.org/project/linux-mtd/patch/20210213151047.11700-1
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2550,6 +2550,9 @@ static const struct flash_info spi_nor_i
+@@ -2552,6 +2552,9 @@ static const struct flash_info spi_nor_i
  			  .fixups = &w25q256_fixups },
  	{ "w25q256jvm", INFO(0xef7019, 0, 64 * 1024, 512,
  			     SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },

+ 1 - 1
target/linux/mvebu/patches-5.4/005-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch

@@ -292,7 +292,7 @@ Signed-off-by: David S. Miller <[email protected]>
  					MVNETA_RX_BUF_SIZE(pp->pkt_size));
  		mvneta_rxq_bm_disable(pp, rxq);
  		mvneta_rxq_fill(pp, rxq, rxq->size);
-@@ -4708,7 +4713,7 @@ static int mvneta_probe(struct platform_
+@@ -4715,7 +4720,7 @@ static int mvneta_probe(struct platform_
  	SET_NETDEV_DEV(dev, &pdev->dev);
  
  	pp->id = global_port_id++;

+ 4 - 4
target/linux/mvebu/patches-5.4/006-net-mvneta-add-basic-XDP-support.patch

@@ -232,7 +232,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	};
  	int err;
  
-@@ -3364,6 +3447,11 @@ static int mvneta_change_mtu(struct net_
+@@ -3366,6 +3449,11 @@ static int mvneta_change_mtu(struct net_
  		mtu = ALIGN(MVNETA_RX_PKT_SIZE(mtu), 8);
  	}
  
@@ -244,7 +244,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	dev->mtu = mtu;
  
  	if (!netif_running(dev)) {
-@@ -4029,6 +4117,47 @@ static int mvneta_ioctl(struct net_devic
+@@ -4036,6 +4124,47 @@ static int mvneta_ioctl(struct net_devic
  	return phylink_mii_ioctl(pp->phylink, ifr, cmd);
  }
  
@@ -292,7 +292,7 @@ Signed-off-by: David S. Miller <[email protected]>
  /* Ethtool methods */
  
  /* Set link ksettings (phy address, speed) for ethtools */
-@@ -4425,6 +4554,7 @@ static const struct net_device_ops mvnet
+@@ -4432,6 +4561,7 @@ static const struct net_device_ops mvnet
  	.ndo_fix_features    = mvneta_fix_features,
  	.ndo_get_stats64     = mvneta_get_stats64,
  	.ndo_do_ioctl        = mvneta_ioctl,
@@ -300,7 +300,7 @@ Signed-off-by: David S. Miller <[email protected]>
  };
  
  static const struct ethtool_ops mvneta_eth_tool_ops = {
-@@ -4713,7 +4843,7 @@ static int mvneta_probe(struct platform_
+@@ -4720,7 +4850,7 @@ static int mvneta_probe(struct platform_
  	SET_NETDEV_DEV(dev, &pdev->dev);
  
  	pp->id = global_port_id++;

+ 1 - 1
target/linux/mvebu/patches-5.4/008-net-mvneta-make-tx-buffer-array-agnostic.patch

@@ -199,7 +199,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		dma_free_coherent(pp->dev->dev.parent,
  				  txq->size * MVNETA_DESC_ALIGNED_SIZE,
  				  txq->descs, txq->descs_phys);
-@@ -3205,7 +3225,7 @@ static void mvneta_txq_sw_deinit(struct
+@@ -3207,7 +3227,7 @@ static void mvneta_txq_sw_deinit(struct
  {
  	struct netdev_queue *nq = netdev_get_tx_queue(pp->dev, txq->id);
  

+ 1 - 1
target/linux/mvebu/patches-5.4/009-net-mvneta-add-XDP_TX-support.patch

@@ -165,7 +165,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	default:
  		bpf_warn_invalid_xdp_action(act);
  		/* fall through */
-@@ -4574,6 +4687,7 @@ static const struct net_device_ops mvnet
+@@ -4581,6 +4694,7 @@ static const struct net_device_ops mvnet
  	.ndo_get_stats64     = mvneta_get_stats64,
  	.ndo_do_ioctl        = mvneta_ioctl,
  	.ndo_bpf             = mvneta_xdp,

+ 1 - 1
target/linux/mvebu/patches-5.4/014-mvneta-driver-disallow-XDP-program-on-hardware-buffe.patch

@@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <[email protected]>
 
 --- a/drivers/net/ethernet/marvell/mvneta.c
 +++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -4263,6 +4263,12 @@ static int mvneta_xdp_setup(struct net_d
+@@ -4270,6 +4270,12 @@ static int mvneta_xdp_setup(struct net_d
  		return -EOPNOTSUPP;
  	}
  

+ 3 - 3
target/linux/mvebu/patches-5.4/015-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch

@@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	mvreg_write(pp, MVNETA_ACC_MODE, MVNETA_ACC_MODE_EXT1);
  	netdev_info(pp->dev, "fail to update MTU, fall back to software BM\n");
  }
-@@ -4984,7 +4984,6 @@ static int mvneta_probe(struct platform_
+@@ -4991,7 +4991,6 @@ static int mvneta_probe(struct platform_
  	SET_NETDEV_DEV(dev, &pdev->dev);
  
  	pp->id = global_port_id++;
@@ -46,7 +46,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  	/* Obtain access to BM resources if enabled and already initialized */
  	bm_node = of_parse_phandle(dn, "buffer-manager", 0);
-@@ -5009,6 +5008,10 @@ static int mvneta_probe(struct platform_
+@@ -5016,6 +5015,10 @@ static int mvneta_probe(struct platform_
  	}
  	of_node_put(bm_node);
  
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	err = mvneta_init(&pdev->dev, pp);
  	if (err < 0)
  		goto err_netdev;
-@@ -5166,6 +5169,7 @@ static int mvneta_resume(struct device *
+@@ -5173,6 +5176,7 @@ static int mvneta_resume(struct device *
  		err = mvneta_bm_port_init(pdev, pp);
  		if (err < 0) {
  			dev_info(&pdev->dev, "use SW buffer management\n");

+ 9 - 12
target/linux/mvebu/patches-5.4/312-helios4-dts-status-led-alias.patch

@@ -1,23 +1,20 @@
 --- a/arch/arm/boot/dts/armada-388-helios4.dts
 +++ b/arch/arm/boot/dts/armada-388-helios4.dts
-@@ -15,6 +15,13 @@
- 	model = "Helios4";
- 	compatible = "kobol,helios4", "marvell,armada388",
- 		"marvell,armada385", "marvell,armada380";
-+		
-+	aliases {
+@@ -24,6 +24,10 @@
+ 	aliases {
+ 		/* So that mvebu u-boot can update the MAC addresses */
+ 		ethernet1 = &eth0;
 +		led-boot = &led_status;
 +		led-failsafe = &led_status;
 +		led-running = &led_status;
 +		led-upgrade = &led_status;
-+	};
+ 	};
  
- 	memory {
- 		device_type = "memory";
-@@ -70,10 +77,9 @@
+ 	chosen {
+@@ -73,10 +77,9 @@
+ 		pinctrl-names = "default";
+ 		pinctrl-0 = <&helios_system_led_pins>;
  
- 	system-leds {
- 		compatible = "gpio-leds";
 -		status-led {
 +		led_status: status-led {
  			label = "helios4:green:status";

+ 2 - 2
target/linux/mvebu/patches-5.4/700-mvneta-tx-queue-workaround.patch

@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 ---
 --- a/drivers/net/ethernet/marvell/mvneta.c
 +++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -4684,6 +4684,14 @@ static int mvneta_ethtool_set_eee(struct
+@@ -4691,6 +4691,14 @@ static int mvneta_ethtool_set_eee(struct
  	return phylink_ethtool_set_eee(pp->phylink, eee);
  }
  
@@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  static const struct net_device_ops mvneta_netdev_ops = {
  	.ndo_open            = mvneta_open,
  	.ndo_stop            = mvneta_stop,
-@@ -4694,6 +4702,7 @@ static const struct net_device_ops mvnet
+@@ -4701,6 +4709,7 @@ static const struct net_device_ops mvnet
  	.ndo_fix_features    = mvneta_fix_features,
  	.ndo_get_stats64     = mvneta_get_stats64,
  	.ndo_do_ioctl        = mvneta_ioctl,

+ 2 - 2
target/linux/pistachio/patches-5.4/401-mtd-nor-support-mtd-name-from-device-tree.patch

@@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <[email protected]>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -4937,6 +4937,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -4938,6 +4938,7 @@ int spi_nor_scan(struct spi_nor *nor, co
  	struct mtd_info *mtd = &nor->mtd;
  	struct device_node *np = spi_nor_get_flash_node(nor);
  	struct spi_nor_flash_parameter *params = &nor->params;
@@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <[email protected]>
  	int ret;
  	int i;
  
-@@ -4999,7 +5000,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -5000,7 +5001,12 @@ int spi_nor_scan(struct spi_nor *nor, co
  	/* Init flash parameters based on flash_info struct and SFDP */
  	spi_nor_init_params(nor);
  

+ 1 - 1
target/linux/ramips/patches-5.4/302-spi-nor-add-gd25q512.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -2303,6 +2303,11 @@ static const struct flash_info spi_nor_i
+@@ -2305,6 +2305,11 @@ static const struct flash_info spi_nor_i
  			SPI_NOR_4B_OPCODES | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
  			.fixups = &gd25q256_fixups,
  	},

+ 2 - 2
target/linux/realtek/patches-5.4/302-clocksource-add-rtl9300-driver.patch

@@ -1,6 +1,6 @@
 --- a/drivers/clocksource/Kconfig
 +++ b/drivers/clocksource/Kconfig
-@@ -126,6 +126,15 @@ config RDA_TIMER
+@@ -127,6 +127,15 @@ config RDA_TIMER
  	help
  	  Enables the support for the RDA Micro timer driver.
  
@@ -16,7 +16,7 @@
  config SUN4I_TIMER
  	bool "Sun4i timer driver" if COMPILE_TEST
  	depends on HAS_IOMEM
-@@ -695,5 +704,4 @@ config INGENIC_TIMER
+@@ -696,5 +705,4 @@ config INGENIC_TIMER
  	select IRQ_DOMAIN
  	help
  	  Support for the timer/counter unit of the Ingenic JZ SoCs.

+ 1 - 1
target/linux/sunxi/patches-5.4/400-arm64-allwinner-a64-sopine-Add-Sopine-flash-partitio.patch

@@ -15,7 +15,7 @@ Signed-off-by: Oskari Lemmela <[email protected]>
 
 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
 +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
-@@ -82,6 +82,28 @@
+@@ -81,6 +81,28 @@
  		compatible = "jedec,spi-nor";
  		reg = <0>;
  		spi-max-frequency = <40000000>;