Sfoglia il codice sorgente

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 <[email protected]>
Koen Vandeputte 6 anni fa
parent
commit
3a2668c6d5

+ 2 - 2
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))))

+ 1 - 1
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

+ 3 - 3
target/linux/brcm2708/patches-4.14/950-0031-Update-vfpmodule.c.patch

@@ -102,7 +102,7 @@ Signed-off-by: Christopher Alexander Tobias Schulze <[email protected]>
  		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 <[email protected]>
  
  	/* 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 <[email protected]>
  	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;

+ 3 - 3
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 <[email protected]>
  #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 <[email protected]>
  #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 <[email protected]>
  		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;
  }

+ 0 - 55
target/linux/generic/backport-4.14/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch

@@ -1,55 +0,0 @@
-From 649affd04813c43e0a72886517fcfccd63230981 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <[email protected]>
-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 <[email protected]>
----
- 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 <linux/types.h>
-+#include <linux/libc-compat.h>
- 
- /*
-  *	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 */

+ 0 - 32
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,

+ 1 - 1
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 <[email protected]>
  
  	/* 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);

+ 1 - 1
target/linux/layerscape/patches-4.14/812-flexspi-support-layerscape.patch

@@ -40,7 +40,7 @@ Signed-off-by: Biwen Li <[email protected]>
 
 --- 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;
  	}