From f621b539512e5b6c83dd2de1bc2dba06e40cd7ea Mon Sep 17 00:00:00 2001 From: Stijn Tintel Date: Sun, 18 Feb 2018 01:43:25 +0100 Subject: kernel: bump 4.9 to 4.9.82 Refresh patches. Remove upstreamed patches: - ar7/002-MIPS-AR7-ensure-the-port-type-s-FCR-value-is-used.patch - backport/040-crypto-fix-typo-in-KPP-dependency-of-CRYPTO_ECDH.patch Remove layerscape/819-Revert-dmaengine-dmatest-move-callback-wait-queue-to.patch, it is superseded by upstream commit 297c7cc4b5651b174a62925b6c961085f04979fd. Remove pending/650-pppoe_header_pad.patch, it is superseded by upstream commit 1bd21b158e07e0b8c5a2ce832305a0ebfe42c480. Update patches that no longer apply: - ar71xx/004-register_gpio_driver_earlier.patch - hack/204-module_strip.patch - pending/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch Fixes CVE-2017-8824. Compile-tested: ar71xx. Runtime-tested: ar71xx. Signed-off-by: Stijn Tintel --- .../004-register_gpio_driver_earlier.patch | 5 ++++- .../patches-4.9/910-unaligned_access_hacks.patch | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) (limited to 'target/linux/ar71xx/patches-4.9') diff --git a/target/linux/ar71xx/patches-4.9/004-register_gpio_driver_earlier.patch b/target/linux/ar71xx/patches-4.9/004-register_gpio_driver_earlier.patch index e6e972b7ef..cc30e2d91e 100644 --- a/target/linux/ar71xx/patches-4.9/004-register_gpio_driver_earlier.patch +++ b/target/linux/ar71xx/patches-4.9/004-register_gpio_driver_earlier.patch @@ -3,7 +3,7 @@ from mach files succeed. --- a/drivers/gpio/gpio-ath79.c +++ b/drivers/gpio/gpio-ath79.c -@@ -322,4 +322,8 @@ static struct platform_driver ath79_gpio +@@ -322,7 +322,11 @@ static struct platform_driver ath79_gpio .remove = ath79_gpio_remove, }; @@ -13,3 +13,6 @@ from mach files succeed. + return platform_driver_register(&ath79_gpio_driver); +} +postcore_initcall(ath79_gpio_init); + + MODULE_DESCRIPTION("Atheros AR71XX/AR724X/AR913X GPIO API support"); + MODULE_LICENSE("GPL v2"); diff --git a/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch index f26af24d14..a453752900 100644 --- a/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch @@ -267,7 +267,7 @@ case IPV6_2292HOPOPTS: --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c -@@ -394,7 +394,7 @@ static void ip6gre_err(struct sk_buff *s +@@ -395,7 +395,7 @@ static void ip6gre_err(struct sk_buff *s return; ipv6h = (const struct ipv6hdr *)skb->data; greh = (const struct gre_base_hdr *)(skb->data + offset); @@ -448,7 +448,7 @@ memcpy(p, foc->val, foc->len); --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c -@@ -533,7 +533,7 @@ static struct sk_buff *add_grec(struct s +@@ -537,7 +537,7 @@ static struct sk_buff *add_grec(struct s if (!skb) return NULL; psrc = (__be32 *)skb_put(skb, sizeof(__be32)); @@ -621,7 +621,7 @@ #define IP6_MF 0x0001 #define IP6_OFFSET 0xFFF8 -@@ -449,8 +449,8 @@ static inline void __ipv6_addr_set_half( +@@ -450,8 +450,8 @@ static inline void __ipv6_addr_set_half( } #endif #endif @@ -632,7 +632,7 @@ } static inline void ipv6_addr_set(struct in6_addr *addr, -@@ -509,6 +509,8 @@ static inline bool ipv6_prefix_equal(con +@@ -510,6 +510,8 @@ static inline bool ipv6_prefix_equal(con const __be32 *a1 = addr1->s6_addr32; const __be32 *a2 = addr2->s6_addr32; unsigned int pdw, pbi; @@ -641,7 +641,7 @@ /* check complete u32 in prefix */ pdw = prefixlen >> 5; -@@ -517,7 +519,9 @@ static inline bool ipv6_prefix_equal(con +@@ -518,7 +520,9 @@ static inline bool ipv6_prefix_equal(con /* check incomplete u32 in prefix */ pbi = prefixlen & 0x1f; @@ -652,7 +652,7 @@ return false; return true; -@@ -661,13 +665,13 @@ static inline void ipv6_addr_set_v4mappe +@@ -662,13 +666,13 @@ static inline void ipv6_addr_set_v4mappe */ static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen) { @@ -668,7 +668,7 @@ if (xb) return i * 32 + 31 - __fls(ntohl(xb)); } -@@ -836,17 +840,18 @@ static inline int ip6_default_np_autolab +@@ -837,17 +841,18 @@ static inline int ip6_default_np_autolab static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass, __be32 flowlabel) { @@ -888,7 +888,7 @@ *sum = csum_fold(csum_partial(diff, sizeof(diff), --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c -@@ -1811,15 +1811,15 @@ static int vxlan_build_skb(struct sk_buf +@@ -1789,15 +1789,15 @@ static int vxlan_build_skb(struct sk_buf goto out_free; vxh = (struct vxlanhdr *) __skb_push(skb, sizeof(*vxh)); @@ -938,7 +938,7 @@ --- a/net/ipv4/tcp_offload.c +++ b/net/ipv4/tcp_offload.c -@@ -215,7 +215,7 @@ struct sk_buff **tcp_gro_receive(struct +@@ -218,7 +218,7 @@ struct sk_buff **tcp_gro_receive(struct th2 = tcp_hdr(p); @@ -947,7 +947,7 @@ NAPI_GRO_CB(p)->same_flow = 0; continue; } -@@ -233,8 +233,8 @@ found: +@@ -236,8 +236,8 @@ found: ~(TCP_FLAG_CWR | TCP_FLAG_FIN | TCP_FLAG_PSH)); flush |= (__force int)(th->ack_seq ^ th2->ack_seq); for (i = sizeof(*th); i < thlen; i += 4) -- cgit v1.2.3