aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/hack-5.4
diff options
context:
space:
mode:
authorJohn Audia <graysky@archlinux.us>2020-08-11 12:13:19 -0400
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-08-18 18:14:54 +0200
commitda986035973a8c803e6f193ae502ff65e6d551c3 (patch)
tree76c59309057edc2b5f852c42bd8f8895150fb342 /target/linux/generic/hack-5.4
parent2cac31223d97fffacb8154f5739c67dfe078106f (diff)
downloadupstream-da986035973a8c803e6f193ae502ff65e6d551c3.tar.gz
upstream-da986035973a8c803e6f193ae502ff65e6d551c3.tar.bz2
upstream-da986035973a8c803e6f193ae502ff65e6d551c3.zip
kernel: bump 5.4 to 5.4.58
This PR is a blend of several kernel bumps authored by ldir taken from his staging tree w/ some further adjustments made by me and update_kernel.sh Summary: Deleted upstreamed patches: generic: 742-v5.5-net-sfp-add-support-for-module-quirks.patch 743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch bcm63xx: 022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch 024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch mediatek: 0402-net-ethernet-mtk_eth_soc-Always-call-mtk_gmac0_rgmii.patch Deleted patches applied differently upstream: generic: 641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch Manually merged patches: generic: 395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch bcm27xx: 950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch layerscape: 701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch Build system: x86_64 Build-tested: ath79/generic, bcm27xx/bcm2708, bcm27xx/bcm2711, imx6, mvebu/cortexa9, sunxi/a53 Run-tested: Netgear R7800 (ipq806x) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-By: Lucian Cristian <Lucian.cristian@gmail.com> [mvebu] Tested-By: Curtis Deptuck <curtdept@me.com> [x86/64] [do not remove 395-v5.8-net-sch_cake-Take-advantage-... patch, adjust and refresh patches, adjust commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x]
Diffstat (limited to 'target/linux/generic/hack-5.4')
-rw-r--r--target/linux/generic/hack-5.4/221-module_exports.patch6
-rw-r--r--target/linux/generic/hack-5.4/301-mips_image_cmdline_hack.patch2
-rw-r--r--target/linux/generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch114
-rw-r--r--target/linux/generic/hack-5.4/904-debloat_dma_buf.patch2
4 files changed, 5 insertions, 119 deletions
diff --git a/target/linux/generic/hack-5.4/221-module_exports.patch b/target/linux/generic/hack-5.4/221-module_exports.patch
index 00802bb401..f3d6c55437 100644
--- a/target/linux/generic/hack-5.4/221-module_exports.patch
+++ b/target/linux/generic/hack-5.4/221-module_exports.patch
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Align . to a 8 byte boundary equals to maximum function alignment. */
#define ALIGN_FUNCTION() . = ALIGN(8)
-@@ -405,14 +415,14 @@
+@@ -406,14 +416,14 @@
/* Kernel symbol table: Normal symbols */ \
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
__start___ksymtab = .; \
@@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__stop___ksymtab_gpl = .; \
} \
\
-@@ -474,7 +484,7 @@
+@@ -475,7 +485,7 @@
\
/* Kernel symbol table: strings */ \
__ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} \
\
/* __*init sections */ \
-@@ -881,6 +891,8 @@
+@@ -884,6 +894,8 @@
EXIT_TEXT \
EXIT_DATA \
EXIT_CALL \
diff --git a/target/linux/generic/hack-5.4/301-mips_image_cmdline_hack.patch b/target/linux/generic/hack-5.4/301-mips_image_cmdline_hack.patch
index a6daf1bdbf..4af9e5a257 100644
--- a/target/linux/generic/hack-5.4/301-mips_image_cmdline_hack.patch
+++ b/target/linux/generic/hack-5.4/301-mips_image_cmdline_hack.patch
@@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1156,6 +1156,10 @@ config SYNC_R4K
+@@ -1157,6 +1157,10 @@ config SYNC_R4K
config MIPS_MACHINE
def_bool n
diff --git a/target/linux/generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch b/target/linux/generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch
deleted file mode 100644
index e651743c1d..0000000000
--- a/target/linux/generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From a00590d570212c3c633bd463cef8ec7377cc7993 Mon Sep 17 00:00:00 2001
-From: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
-Date: Tue, 30 Jun 2020 12:07:44 +0100
-Subject: [PATCH] sch_cake: fix IP protocol handling in the presence of VLAN
- tags
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Ilya Ponetayev <i.ponetaev@ndmsystems.com>
-
-CAKE was using the return value of tc_skb_protocol() and expecting it to be
-the IP protocol type. This can fail in the presence of QinQ VLAN tags,
-making CAKE unable to handle ECN marking and diffserv parsing in this case.
-Fix this by implementing our own version of tc_skb_protocol(), which will
-use skb->protocol directly, but also parse and skip over any VLAN tags and
-return the inner protocol number instead.
-
-Also fix CE marking by implementing a version of INET_ECN_set_ce() that
-uses the same parsing routine.
-
-Fixes: ea82511518f4 ("sch_cake: Add NAT awareness to packet classifier")
-Fixes: b2100cc56fca ("sch_cake: Use tc_skb_protocol() helper for getting packet protocol")
-Fixes: 046f6fd5daef ("sched: Add Common Applications Kept Enhanced (cake) qdisc")
-Signed-off-by: Ilya Ponetayev <i.ponetaev@ndmsystems.com>
-[ squash original two patches, rewrite commit message ]
-Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
-Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
----
- net/sched/sch_cake.c | 52 +++++++++++++++++++++++++++++++++++++++++---
- 1 file changed, 49 insertions(+), 3 deletions(-)
-
---- a/net/sched/sch_cake.c
-+++ b/net/sched/sch_cake.c
-@@ -497,6 +497,52 @@ static bool cobalt_queue_empty(struct co
- return down;
- }
-
-+static __be16 cake_skb_proto(const struct sk_buff *skb)
-+{
-+ unsigned int offset = skb_mac_offset(skb) + sizeof(struct ethhdr);
-+ __be16 proto = skb->protocol;
-+ struct vlan_hdr vhdr, *vh;
-+
-+ while (proto == htons(ETH_P_8021Q) || proto == htons(ETH_P_8021AD)) {
-+ vh = skb_header_pointer(skb, offset, sizeof(vhdr), &vhdr);
-+ if (!vh)
-+ break;
-+
-+ proto = vh->h_vlan_encapsulated_proto;
-+ offset += sizeof(vhdr);
-+ }
-+
-+ return proto;
-+}
-+
-+static int cake_set_ce(struct sk_buff *skb)
-+{
-+ int wlen = skb_network_offset(skb);
-+
-+ switch (cake_skb_proto(skb)) {
-+ case htons(ETH_P_IP):
-+ wlen += sizeof(struct iphdr);
-+ if (!pskb_may_pull(skb, wlen) ||
-+ skb_try_make_writable(skb, wlen))
-+ return 0;
-+
-+ return IP_ECN_set_ce(ip_hdr(skb));
-+
-+ case htons(ETH_P_IPV6):
-+ wlen += sizeof(struct ipv6hdr);
-+ if (!pskb_may_pull(skb, wlen) ||
-+ skb_try_make_writable(skb, wlen))
-+ return 0;
-+
-+ return IP6_ECN_set_ce(skb, ipv6_hdr(skb));
-+
-+ default:
-+ return 0;
-+ }
-+
-+ return 0;
-+}
-+
- /* Call this with a freshly dequeued packet for possible congestion marking.
- * Returns true as an instruction to drop the packet, false for delivery.
- */
-@@ -549,7 +595,7 @@ static bool cobalt_should_drop(struct co
-
- if (next_due && vars->dropping) {
- /* Use ECN mark if possible, otherwise drop */
-- drop = !(vars->ecn_marked = INET_ECN_set_ce(skb));
-+ drop = !(vars->ecn_marked = cake_set_ce(skb));
-
- vars->count++;
- if (!vars->count)
-@@ -592,7 +638,7 @@ static bool cake_update_flowkeys(struct
- bool rev = !skb->_nfct, upd = false;
- __be32 ip;
-
-- if (tc_skb_protocol(skb) != htons(ETH_P_IP))
-+ if (cake_skb_proto(skb) != htons(ETH_P_IP))
- return false;
-
- if (!nf_ct_get_tuple_skb(&tuple, skb))
-@@ -1557,7 +1603,7 @@ static u8 cake_handle_diffserv(struct sk
- u16 *buf, buf_;
- u8 dscp;
-
-- switch (tc_skb_protocol(skb)) {
-+ switch (cake_skb_proto(skb)) {
- case htons(ETH_P_IP):
- buf = skb_header_pointer(skb, offset, sizeof(buf_), &buf_);
- if (unlikely(!buf))
diff --git a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch
index 9c7c3c2c24..1b103d5e00 100644
--- a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch
+++ b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
selftest.o \
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
-@@ -1295,4 +1295,5 @@ static void __exit dma_buf_deinit(void)
+@@ -1298,4 +1298,5 @@ static void __exit dma_buf_deinit(void)
dma_buf_uninit_debugfs();
kern_unmount(dma_buf_mnt);
}