From 3a2668c6d5111d0f98922157b204263cef8603d7 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Wed, 20 Feb 2019 16:02:26 +0100 Subject: [PATCH] kernel: bump 4.14 to 4.14.102 Refreshed all patches. Remove upstreamed: - 272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch Remove upstreamed hunks: - 080-pinctrl-msm-fix-gpio-hog-related-boot-issues.patch Fixes: - CVE-2018-1000026 Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- ...vert-702b94bff3c50542a6e4ab9a4f4cef0.patch | 2 +- .../950-0031-Update-vfpmodule.c.patch | 6 +- ...o_user-and-__copy_from_user-performa.patch | 6 +- ...prevent-redefinition-of-struct-ethhd.patch | 55 ------------------- ...msm-fix-gpio-hog-related-boot-issues.patch | 32 ----------- ...e-scm_call-to-route-GPIO-irq-to-Apps.patch | 2 +- .../812-flexspi-support-layerscape.patch | 2 +- 8 files changed, 11 insertions(+), 98 deletions(-) delete mode 100644 target/linux/generic/backport-4.14/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 2d2025ef72..9e5be1a182 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -4,12 +4,12 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .135 LINUX_VERSION-4.9 = .159 -LINUX_VERSION-4.14 = .101 +LINUX_VERSION-4.14 = .102 LINUX_VERSION-4.19 = .23 LINUX_KERNEL_HASH-3.18.135 = d1853eb6e5438abb0b54d11478c0792554e39325d37a3f04b68f6c151ed8f8eb LINUX_KERNEL_HASH-4.9.159 = 9f9df13168a090d12314e2e8dac040e71ce3f2ed89eafbece2b14dabb6771742 -LINUX_KERNEL_HASH-4.14.101 = 142ff7c51b001c66e9be134fcec2722f9a47b89879a18e6f65b09b4585cdb69a +LINUX_KERNEL_HASH-4.14.102 = d8a982cfa2804edc2ae9d20792ab0e3897f3976ced5632f2392c2e1918562501 LINUX_KERNEL_HASH-4.19.23 = 2d9b25678aac7f3f109c52e6266fb6ee89cc424b597518a2875874bacb8f130a remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/target/linux/brcm2708/patches-4.14/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch b/target/linux/brcm2708/patches-4.14/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch index 7becfb3d9a..7c728b22ae 100644 --- a/target/linux/brcm2708/patches-4.14/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch +++ b/target/linux/brcm2708/patches-4.14/950-0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch @@ -76,7 +76,7 @@ Subject: [PATCH 001/454] arm: partially revert --- a/arch/arm/mm/proc-macros.S +++ b/arch/arm/mm/proc-macros.S -@@ -325,6 +325,8 @@ ENTRY(\name\()_cache_fns) +@@ -335,6 +335,8 @@ ENTRY(\name\()_cache_fns) .long \name\()_flush_kern_dcache_area .long \name\()_dma_map_area .long \name\()_dma_unmap_area diff --git a/target/linux/brcm2708/patches-4.14/950-0031-Update-vfpmodule.c.patch b/target/linux/brcm2708/patches-4.14/950-0031-Update-vfpmodule.c.patch index 6647e5a4f8..3d8106d2a5 100644 --- a/target/linux/brcm2708/patches-4.14/950-0031-Update-vfpmodule.c.patch +++ b/target/linux/brcm2708/patches-4.14/950-0031-Update-vfpmodule.c.patch @@ -102,7 +102,7 @@ Signed-off-by: Christopher Alexander Tobias Schulze vfp_save_state(&thread->vfpstate, fpexc | FPEXC_EN); fmxr(FPEXC, fpexc); } -@@ -602,6 +609,8 @@ int vfp_restore_user_hwstate(struct user +@@ -598,6 +605,8 @@ int vfp_restore_user_hwstate(struct user struct thread_info *thread = current_thread_info(); struct vfp_hard_struct *hwstate = &thread->vfpstate.hard; unsigned long fpexc; @@ -111,7 +111,7 @@ Signed-off-by: Christopher Alexander Tobias Schulze /* Disable VFP to avoid corrupting the new thread state. */ vfp_flush_hwstate(thread); -@@ -624,8 +633,12 @@ int vfp_restore_user_hwstate(struct user +@@ -620,8 +629,12 @@ int vfp_restore_user_hwstate(struct user /* Ensure the VFP is enabled. */ fpexc |= FPEXC_EN; @@ -126,7 +126,7 @@ Signed-off-by: Christopher Alexander Tobias Schulze hwstate->fpexc = fpexc; hwstate->fpinst = ufp_exc->fpinst; -@@ -695,7 +708,8 @@ void kernel_neon_begin(void) +@@ -691,7 +704,8 @@ void kernel_neon_begin(void) cpu = get_cpu(); fpexc = fmrx(FPEXC) | FPEXC_EN; diff --git a/target/linux/brcm2708/patches-4.14/950-0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch b/target/linux/brcm2708/patches-4.14/950-0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch index 924fef4cba..157f76f159 100644 --- a/target/linux/brcm2708/patches-4.14/950-0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch +++ b/target/linux/brcm2708/patches-4.14/950-0061-Improve-__copy_to_user-and-__copy_from_user-performa.patch @@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell #define memset(p,v,n) \ --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h -@@ -459,6 +459,9 @@ do { \ +@@ -496,6 +496,9 @@ do { \ extern unsigned long __must_check arm_copy_from_user(void *to, const void __user *from, unsigned long n); @@ -273,7 +273,7 @@ Signed-off-by: Phil Elwell #ifdef CONFIG_CPU_SPECTRE get_thread_info r3 ldr r3, [r3, #TI_ADDR_LIMIT] -@@ -103,6 +104,7 @@ ENTRY(arm_copy_from_user) +@@ -99,6 +100,7 @@ ENTRY(arm_copy_from_user) #include "copy_template.S" ENDPROC(arm_copy_from_user) @@ -1507,7 +1507,7 @@ Signed-off-by: Phil Elwell unsigned long ua_flags = uaccess_save_and_enable(); n = __copy_to_user_std(to, from, n); uaccess_restore(ua_flags); -@@ -156,6 +252,26 @@ arm_copy_to_user(void __user *to, const +@@ -157,6 +253,26 @@ arm_copy_to_user(void __user *to, const } return n; } diff --git a/target/linux/generic/backport-4.14/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch b/target/linux/generic/backport-4.14/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch deleted file mode 100644 index 45039ce133..0000000000 --- a/target/linux/generic/backport-4.14/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 649affd04813c43e0a72886517fcfccd63230981 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Mon, 29 Jun 2015 16:53:03 +0200 -Subject: uapi/if_ether.h: prevent redefinition of struct ethhdr - -Musl provides its own ethhdr struct definition. Add a guard to prevent -its definition of the appropriate musl header has already been included. - -glibc does not implement this header, but when glibc will implement this -they can just define __UAPI_DEF_ETHHDR 0 to make it work with the -kernel. - -Signed-off-by: Hauke Mehrtens ---- - include/uapi/linux/if_ether.h | 3 +++ - include/uapi/linux/libc-compat.h | 6 ++++++ - 2 files changed, 9 insertions(+) - ---- a/include/uapi/linux/if_ether.h -+++ b/include/uapi/linux/if_ether.h -@@ -23,6 +23,7 @@ - #define _UAPI_LINUX_IF_ETHER_H - - #include -+#include - - /* - * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble -@@ -150,11 +151,13 @@ - * This is an Ethernet frame header. - */ - -+#if __UAPI_DEF_ETHHDR - struct ethhdr { - unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ - unsigned char h_source[ETH_ALEN]; /* source ether addr */ - __be16 h_proto; /* packet type ID field */ - } __attribute__((packed)); -+#endif - - - #endif /* _UAPI_LINUX_IF_ETHER_H */ ---- a/include/uapi/linux/libc-compat.h -+++ b/include/uapi/linux/libc-compat.h -@@ -264,4 +264,10 @@ - - #endif /* __GLIBC__ */ - -+/* Definitions for if_ether.h */ -+/* allow libcs like musl to deactivate this, glibc does not implement this. */ -+#ifndef __UAPI_DEF_ETHHDR -+#define __UAPI_DEF_ETHHDR 1 -+#endif -+ - #endif /* _UAPI_LIBC_COMPAT_H */ diff --git a/target/linux/ipq40xx/patches-4.14/080-pinctrl-msm-fix-gpio-hog-related-boot-issues.patch b/target/linux/ipq40xx/patches-4.14/080-pinctrl-msm-fix-gpio-hog-related-boot-issues.patch index cffcd6c76c..81b13e6b2c 100644 --- a/target/linux/ipq40xx/patches-4.14/080-pinctrl-msm-fix-gpio-hog-related-boot-issues.patch +++ b/target/linux/ipq40xx/patches-4.14/080-pinctrl-msm-fix-gpio-hog-related-boot-issues.patch @@ -69,35 +69,3 @@ Origin: other, https://patchwork.kernel.org/patch/10339127/ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; ---- a/drivers/pinctrl/qcom/pinctrl-msm.c -+++ b/drivers/pinctrl/qcom/pinctrl-msm.c -@@ -839,11 +839,24 @@ static int msm_gpio_init(struct msm_pinc - return ret; - } - -- ret = gpiochip_add_pin_range(&pctrl->chip, dev_name(pctrl->dev), 0, 0, chip->ngpio); -- if (ret) { -- dev_err(pctrl->dev, "Failed to add pin range\n"); -- gpiochip_remove(&pctrl->chip); -- return ret; -+ /* -+ * For DeviceTree-supported systems, the gpio core checks the -+ * pinctrl's device node for the "gpio-ranges" property. -+ * If it is present, it takes care of adding the pin ranges -+ * for the driver. In this case the driver can skip ahead. -+ * -+ * In order to remain compatible with older, existing DeviceTree -+ * files which don't set the "gpio-ranges" property or systems that -+ * utilize ACPI the driver has to call gpiochip_add_pin_range(). -+ */ -+ if (!of_property_read_bool(pctrl->dev->of_node, "gpio-ranges")) { -+ ret = gpiochip_add_pin_range(&pctrl->chip, -+ dev_name(pctrl->dev), 0, 0, chip->ngpio); -+ if (ret) { -+ dev_err(pctrl->dev, "Failed to add pin range\n"); -+ gpiochip_remove(&pctrl->chip); -+ return ret; -+ } - } - - ret = gpiochip_irqchip_add(chip, diff --git a/target/linux/ipq806x/patches-4.14/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch b/target/linux/ipq806x/patches-4.14/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch index 4ecdf094e6..1507686456 100644 --- a/target/linux/ipq806x/patches-4.14/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch +++ b/target/linux/ipq806x/patches-4.14/0073-pinctrl-qom-use-scm_call-to-route-GPIO-irq-to-Apps.patch @@ -157,7 +157,7 @@ Signed-off-by: Ajay Kishore /* Update configuration for gpio. * RAW_STATUS_EN is left on for all gpio irqs. Due to the -@@ -962,4 +985,3 @@ int msm_pinctrl_remove(struct platform_d +@@ -975,4 +998,3 @@ int msm_pinctrl_remove(struct platform_d return 0; } EXPORT_SYMBOL(msm_pinctrl_remove); diff --git a/target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch b/target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch index 1c8ae25782..e768f82e68 100644 --- a/target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch @@ -40,7 +40,7 @@ Signed-off-by: Biwen Li --- a/drivers/md/dm-thin.c +++ b/drivers/md/dm-thin.c -@@ -3645,6 +3645,19 @@ static int process_create_thin_mesg(unsi +@@ -3690,6 +3690,19 @@ static int process_create_thin_mesg(unsi return r; }