From eaf83c21dba9b7c951883a7f229a88262a1bcbe9 Mon Sep 17 00:00:00 2001 From: Chunrong Guo Date: Fri, 28 Jul 2017 15:44:05 +0800 Subject: [PATCH] linux: upgrade to v4.4 *include the following changes ec61f52 - irqchip/gicv3: Remove disabling redistributor and group1 non-secure interrupts 7f4242d - arm64: dts: update the cpu idle node ab7df6a - arm: dma-mapping: export arch_setup_dma_ops() 9d921e8 - gianfar_ptp: replace get_of_u32 with of_property_read_u32 ec491e1 - arm64: dts: ls2088ardb: Update nodes for QSPI 69fe6d7 - mtd: spi-nor: Fix the wrong setting for SPI_NOR_DDR_QUAD_READ 13694ee - arm: config: Remove CONFIG_MTD_CFI_BE_BYTE_SWAP in multi_v7_defconfig 9153b91 - arm: dts: Add big-endian for IFC on LS1021A 765159b - armv8: dts: Add big-endian for IFC on LS1043A/LS1046A dec2400 - arm64: configs: Remove CONFIG_MTD_CFI_BE_BYTE_SWAP in lsdk.config b1ce954 - driver: mtd: update struct map_info's swap as per map requirement dea4d1b - phy: allow 10G fixed PHY support e16454a - net: phy: add 10000 as valid speed for fixed-link 57e8edd - crypto: caam/qi2 - setup CG only if supported b4b138a - crypto: caam/qi2 - add dpseci capabilities support 110fc6b - serial: fsl_lpuart: Remove the alias node dependence 4f43ea0 - pcie-ep: Fix the memory leak issue 4a14d8f - pci-ep/ls1046a: Add new interface to show the transfer data 3da05d2 - pci-ep/ls1046a: Instead of the __get_free_pages with dma_alloc_coherent 270c4da - pci-ep/ls1046a: Add new input parameter to set transfer data c4b6a9a - pci-ep/ls1046a: Remove the BARs set step 22b58f3 - pci-ep/ls1046a: Correct LUT offset for different LS platform cc463ba - pci/layerscape: add msi trigger function 284f305 - pci/layerscape: fix compile issue 04f2757 - pci/layerscape: Add PCIe endpoint driver faad801 - ls1088a: dts: Added reboot node 8b5f765 - crypto: caam/qi - abort algorithm setup on DPAA2 parts 574f783 - arm64: defconfig: enable CONFIG_GPIO_MPC8XXX 2fb5946 - crypto: caam/qi2 - fix authenc givencrypt shared descriptor da6f201 - arm64: dts: ls2088a: add cpu idle support 943127c - arm64: dts: ls1088a: add cpu idle support 4884a91 - arm64: dts: ls1043a: add cpu idle support 9b01166 - arm64: dts: ls1012a: add cpu idle support 4878b3b - staging: fsl-dpaa2/eth: Set Tx timestamp support correctly cde1f46 - dpaa_eth: move global variable 'clock' into ptp_priv_s struct 7579dc5 - config: arm32: enable necessary options for KVM and containers 2b8471d - dts: ls1046aqds: add "simple-bus" and ranges to fpga bde83bb - usb: dts: for fix usb port faile issue on ls1021atwr 206cee8 - usb: dwc3 : Add support for USB snooping 6ee3ba2 - usb: host: xhci: add a new quirk XHCI_NO_64BIT_SUPPORT 7532a3a - fmd: use ptp-timer for Fman RTC node name c95fecc - dpaa_eth: use ptp-timer phandle instead of ptimer-handle 43ea287 - arm64: dts: ls1088ardb: correct the base address of watchdog d1d561b - arm64: dts: add qmda note in ls1043/ls1046 dts. 1f984eb - arm64:configs: Enable CEPH_FS and XFS_FS in lsdk.config 63543be - crypto: caam/qi2: add support for TLS 1.0 record 508ce50 - caam/qi - add support for TLS 1.0 record 68054f6 - crypto: caam - add support for MOVEB command 4aa26bc - crypto: caam/qi - explicitly set dma_ops 9ba9074 - crypto: caam/qi - fix AD length endianness in S/G entry 41b5850 - crypto: caam/qi - use QBMan (NXP) SDK driver db3e005 - dpa_eth: remove unused code a648124 - dpaa_eth: ceetm: adapt to net/sched API changes e5435d5 - fsl_qbman: set dma_ops e954a2f - staging: fsl-dpaa2/eth: Update tx_shaping max burst size 7644da1 - staging: fsl-dpaa2/eth: Fix kfree bug 47d6760 - cpufreq: qoriq: enhance bus frequency calculation 53cc39e - arm64: lsdk.config: Enable CONFIG_OVERLAY_FS in kernel e394bc8 - driver: mtd: ifc: update bufnum mask for ver >= 2.0.0 67565eb - driver: mtd: ifc: Initialize SRAM for all version >= 1.0 3c9e9ac - Add dspi node for fsl-ls1046a-qds-sdk dts 9990039 - crypto: backport TLS implementation to v4.4 API Signed-off-by: Chunrong Guo Signed-off-by: Otavio Salvador --- ...-use-static-inline-in-ARM-lifeboot.h.patch | 39 ----- .../linux/linux-qoriq/CVE-2016-0758.patch | 98 ------------- .../linux/linux-qoriq/CVE-2016-2053.patch | 133 ------------------ .../fix-the-compile-issue-under-gcc6.patch | 103 -------------- .../modify-defconfig-t1040-nr-cpus.patch | 33 ----- ...si_feature-if-CONFIG_EPAPR_PARAVIRT-.patch | 32 ----- ...e-Convert-cmpi-to-cmpwi-in-head_64.S.patch | 57 -------- ...ld-of-the-dtb-embedded-kernel-images.patch | 45 ------ ...-Use-double-word-compare-on-pointers.patch | 67 --------- ...{linux-qoriq_4.1.bb => linux-qoriq_4.4.bb} | 13 +- 10 files changed, 2 insertions(+), 618 deletions(-) delete mode 100644 recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch delete mode 100644 recipes-kernel/linux/linux-qoriq/CVE-2016-0758.patch delete mode 100644 recipes-kernel/linux/linux-qoriq/CVE-2016-2053.patch delete mode 100644 recipes-kernel/linux/linux-qoriq/fix-the-compile-issue-under-gcc6.patch delete mode 100644 recipes-kernel/linux/linux-qoriq/modify-defconfig-t1040-nr-cpus.patch delete mode 100644 recipes-kernel/linux/linux-qoriq/only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch delete mode 100644 recipes-kernel/linux/linux-qoriq/powerpc-64e-Convert-cmpi-to-cmpwi-in-head_64.S.patch delete mode 100644 recipes-kernel/linux/linux-qoriq/powerpc-fsl-Fix-build-of-the-dtb-embedded-kernel-images.patch delete mode 100644 recipes-kernel/linux/linux-qoriq/powerpc-vdso64-Use-double-word-compare-on-pointers.patch rename recipes-kernel/linux/{linux-qoriq_4.1.bb => linux-qoriq_4.4.bb} (79%) diff --git a/recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch b/recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch deleted file mode 100644 index 161bada6..00000000 --- a/recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 16b34c08f43c6e65f21a8cab536c497edb6c886e Mon Sep 17 00:00:00 2001 -From: Chunrong Guo -Date: Thu, 8 Oct 2015 22:48:22 -0500 -Subject: [PATCH] use static inline in ARM lifeboot.h - ---- - drivers/input/mouse/sentelic.h | 2 +- - drivers/input/mouse/trackpoint.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/input/mouse/sentelic.h b/drivers/input/mouse/sentelic.h -index aa697ec..9e69e94 100644 ---- a/drivers/input/mouse/sentelic.h -+++ b/drivers/input/mouse/sentelic.h -@@ -123,7 +123,7 @@ struct fsp_data { - extern int fsp_detect(struct psmouse *psmouse, bool set_properties); - extern int fsp_init(struct psmouse *psmouse); - #else --inline int fsp_detect(struct psmouse *psmouse, bool set_properties) -+static inline int fsp_detect(struct psmouse *psmouse, bool set_properties) - { - return -ENOSYS; - } -diff --git a/drivers/input/mouse/trackpoint.h b/drivers/input/mouse/trackpoint.h -index ecd0547..693735c 100644 ---- a/drivers/input/mouse/trackpoint.h -+++ b/drivers/input/mouse/trackpoint.h -@@ -147,7 +147,7 @@ struct trackpoint_data - #ifdef CONFIG_MOUSE_PS2_TRACKPOINT - int trackpoint_detect(struct psmouse *psmouse, bool set_properties); - #else --inline int trackpoint_detect(struct psmouse *psmouse, bool set_properties) -+static inline int trackpoint_detect(struct psmouse *psmouse, bool set_properties) - { - return -ENOSYS; - } --- -2.3.3 - diff --git a/recipes-kernel/linux/linux-qoriq/CVE-2016-0758.patch b/recipes-kernel/linux/linux-qoriq/CVE-2016-0758.patch deleted file mode 100644 index 5447552f..00000000 --- a/recipes-kernel/linux/linux-qoriq/CVE-2016-0758.patch +++ /dev/null @@ -1,98 +0,0 @@ -From af00ae6ef5a2c73f21ba215c476570b7772a14fb Mon Sep 17 00:00:00 2001 -From: David Howells -Date: Tue, 23 Feb 2016 11:03:12 +0000 -Subject: KEYS: Fix ASN.1 indefinite length object parsing - -commit 23c8a812dc3c621009e4f0e5342aa4e2ede1ceaa upstream. - -This fixes CVE-2016-0758. - -In the ASN.1 decoder, when the length field of an ASN.1 value is extracted, -it isn't validated against the remaining amount of data before being added -to the cursor. With a sufficiently large size indicated, the check: - - datalen - dp < 2 - -may then fail due to integer overflow. - -Fix this by checking the length indicated against the amount of remaining -data in both places a definite length is determined. - -Whilst we're at it, make the following changes: - - (1) Check the maximum size of extended length does not exceed the capacity - of the variable it's being stored in (len) rather than the type that - variable is assumed to be (size_t). - - (2) Compare the EOC tag to the symbolic constant ASN1_EOC rather than the - integer 0. - - (3) To reduce confusion, move the initialisation of len outside of: - - for (len = 0; n > 0; n--) { - - since it doesn't have anything to do with the loop counter n. - -CVE: CVE-2016-0758. -Upstream-Status: Backport [backported from kernel.org 3.16 branch] - -Signed-off-by: David Howells -Reviewed-by: Mimi Zohar -Acked-by: David Woodhouse -Acked-by: Peter Jones -Signed-off-by: Ben Hutchings -Signed-off-by: Sona Sarmadi ---- - lib/asn1_decoder.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -diff --git a/lib/asn1_decoder.c b/lib/asn1_decoder.c -index d60ce8a..806c5b6 100644 ---- a/lib/asn1_decoder.c -+++ b/lib/asn1_decoder.c -@@ -69,7 +69,7 @@ next_tag: - - /* Extract a tag from the data */ - tag = data[dp++]; -- if (tag == 0) { -+ if (tag == ASN1_EOC) { - /* It appears to be an EOC. */ - if (data[dp++] != 0) - goto invalid_eoc; -@@ -91,10 +91,8 @@ next_tag: - - /* Extract the length */ - len = data[dp++]; -- if (len <= 0x7f) { -- dp += len; -- goto next_tag; -- } -+ if (len <= 0x7f) -+ goto check_length; - - if (unlikely(len == ASN1_INDEFINITE_LENGTH)) { - /* Indefinite length */ -@@ -105,14 +103,18 @@ next_tag: - } - - n = len - 0x80; -- if (unlikely(n > sizeof(size_t) - 1)) -+ if (unlikely(n > sizeof(len) - 1)) - goto length_too_long; - if (unlikely(n > datalen - dp)) - goto data_overrun_error; -- for (len = 0; n > 0; n--) { -+ len = 0; -+ for (; n > 0; n--) { - len <<= 8; - len |= data[dp++]; - } -+check_length: -+ if (len > datalen - dp) -+ goto data_overrun_error; - dp += len; - goto next_tag; - --- -cgit v0.12 - diff --git a/recipes-kernel/linux/linux-qoriq/CVE-2016-2053.patch b/recipes-kernel/linux/linux-qoriq/CVE-2016-2053.patch deleted file mode 100644 index 778a99fd..00000000 --- a/recipes-kernel/linux/linux-qoriq/CVE-2016-2053.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 15430f775ee686b61569a0c3e74cf0b2ad57c8eb Mon Sep 17 00:00:00 2001 -From: David Howells -Date: Wed, 5 Aug 2015 12:54:46 +0100 -Subject: ASN.1: Fix non-match detection failure on data overrun - -commit 0d62e9dd6da45bbf0f33a8617afc5fe774c8f45f upstream. - -If the ASN.1 decoder is asked to parse a sequence of objects, non-optional -matches get skipped if there's no more data to be had rather than a -data-overrun error being reported. - -This is due to the code segment that decides whether to skip optional -matches (ie. matches that could get ignored because an element is marked -OPTIONAL in the grammar) due to a lack of data also skips non-optional -elements if the data pointer has reached the end of the buffer. - -This can be tested with the data decoder for the new RSA akcipher algorithm -that takes three non-optional integers. Currently, it skips the last -integer if there is insufficient data. - -Without the fix, #defining DEBUG in asn1_decoder.c will show something -like: - - next_op: pc=0/13 dp=0/270 C=0 J=0 - - match? 30 30 00 - - TAG: 30 266 CONS - next_op: pc=2/13 dp=4/270 C=1 J=0 - - match? 02 02 00 - - TAG: 02 257 - - LEAF: 257 - next_op: pc=5/13 dp=265/270 C=1 J=0 - - match? 02 02 00 - - TAG: 02 3 - - LEAF: 3 - next_op: pc=8/13 dp=270/270 C=1 J=0 - next_op: pc=11/13 dp=270/270 C=1 J=0 - - end cons t=4 dp=270 l=270/270 - -The next_op line for pc=8/13 should be followed by a match line. - -This is not exploitable for X.509 certificates by means of shortening the -message and fixing up the ASN.1 CONS tags because: - - (1) The relevant records being built up are cleared before use. - - (2) If the message is shortened sufficiently to remove the public key, the - ASN.1 parse of the RSA key will fail quickly due to a lack of data. - - (3) Extracted signature data is either turned into MPIs (which cope with a - 0 length) or is simpler integers specifying algoritms and suchlike - (which can validly be 0); and - - (4) The AKID and SKID extensions are optional and their removal is handled - without risking passing a NULL to asymmetric_key_generate_id(). - - (5) If the certificate is truncated sufficiently to remove the subject, - issuer or serialNumber then the ASN.1 decoder will fail with a 'Cons - stack underflow' return. - -This is not exploitable for PKCS#7 messages by means of removal of elements -from such a message from the tail end of a sequence: - - (1) Any shortened X.509 certs embedded in the PKCS#7 message are survivable - as detailed above. - - (2) The message digest content isn't used if it shows a NULL pointer, - similarly, the authattrs aren't used if that shows a NULL pointer. - - (3) A missing signature results in a NULL MPI - which the MPI routines deal - with. - - (4) If data is NULL, it is expected that the message has detached content and - that is handled appropriately. - - (5) If the serialNumber is excised, the unconditional action associated - with it will pick up the containing SEQUENCE instead, so no NULL - pointer will be seen here. - - If both the issuer and the serialNumber are excised, the ASN.1 decode - will fail with an 'Unexpected tag' return. - - In either case, there's no way to get to asymmetric_key_generate_id() - with a NULL pointer. - - (6) Other fields are decoded to simple integers. Shortening the message - to omit an algorithm ID field will cause checks on this to fail early - in the verification process. - -This can also be tested by snipping objects off of the end of the ASN.1 stream -such that mandatory tags are removed - or even from the end of internal -SEQUENCEs. If any mandatory tag is missing, the error EBADMSG *should* be -produced. Without this patch ERANGE or ENOPKG might be produced or the parse -may apparently succeed, perhaps with ENOKEY or EKEYREJECTED being produced -later, depending on what gets snipped. - -Just snipping off the final BIT_STRING or OCTET_STRING from either sample -should be a start since both are mandatory and neither will cause an EBADMSG -without the patches - -CVE: CVE-2016-2053 -Upstream-Status: Backport [kernel.org linux-stable 3.16 branch] - -Reported-by: Marcel Holtmann -Signed-off-by: David Howells -Tested-by: Marcel Holtmann -Reviewed-by: David Woodhouse -Cc: Moritz Muehlenhoff -[ luis: backported to 3.16: adjusted context ] -Signed-off-by: Luis Henriques -Signed-off-by: Sona Sarmadi ---- - lib/asn1_decoder.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/lib/asn1_decoder.c b/lib/asn1_decoder.c -index 1a000bb..d60ce8a 100644 ---- a/lib/asn1_decoder.c -+++ b/lib/asn1_decoder.c -@@ -208,9 +208,8 @@ next_op: - unsigned char tmp; - - /* Skip conditional matches if possible */ -- if ((op & ASN1_OP_MATCH__COND && -- flags & FLAG_MATCHED) || -- dp == datalen) { -+ if ((op & ASN1_OP_MATCH__COND && flags & FLAG_MATCHED) || -+ (op & ASN1_OP_MATCH__SKIP && dp == datalen)) { - pc += asn1_op_lengths[op]; - goto next_op; - } --- -cgit v0.12 - diff --git a/recipes-kernel/linux/linux-qoriq/fix-the-compile-issue-under-gcc6.patch b/recipes-kernel/linux/linux-qoriq/fix-the-compile-issue-under-gcc6.patch deleted file mode 100644 index 910ef188..00000000 --- a/recipes-kernel/linux/linux-qoriq/fix-the-compile-issue-under-gcc6.patch +++ /dev/null @@ -1,103 +0,0 @@ -Fix the compile issue under gcc6 - -Fix the following build error: -| .../include/linux/compiler-gcc.h:106:30: fatal error: linux/compiler-gcc6.h: No such file or directory -| #include gcc_header(__GNUC__) - -Signed-off-by: Zhenhua Luo - -Upstream-Status: Pending ---- - arch/powerpc/kernel/Makefile | 2 -- - include/linux/compiler-gcc6.h | 66 +++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 66 insertions(+), 2 deletions(-) - create mode 100644 include/linux/compiler-gcc6.h - -diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile -index c326675..45f0494 100644 ---- a/arch/powerpc/kernel/Makefile -+++ b/arch/powerpc/kernel/Makefile -@@ -4,8 +4,6 @@ - - CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"' - --subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror -- - ifeq ($(CONFIG_PPC64),y) - CFLAGS_prom_init.o += $(NO_MINIMAL_TOC) - endif -diff --git a/include/linux/compiler-gcc6.h b/include/linux/compiler-gcc6.h -new file mode 100644 -index 0000000..cdd1cc2 ---- /dev/null -+++ b/include/linux/compiler-gcc6.h -@@ -0,0 +1,66 @@ -+#ifndef __LINUX_COMPILER_H -+#error "Please don't include directly, include instead." -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __must_check __attribute__((warn_unused_result)) -+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) -+ -+/* Mark functions as cold. gcc will assume any path leading to a call -+ to them will be unlikely. This means a lot of manual unlikely()s -+ are unnecessary now for any paths leading to the usual suspects -+ like BUG(), printk(), panic() etc. [but let's keep them for now for -+ older compilers] -+ -+ Early snapshots of gcc 4.3 don't support this and we can't detect this -+ in the preprocessor, but we can live with this because they're unreleased. -+ Maketime probing would be overkill here. -+ -+ gcc also has a __attribute__((__hot__)) to move hot functions into -+ a special section, but I don't see any sense in this right now in -+ the kernel context */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+ -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__)) -+ -+/* -+ * Tell the optimizer that something else uses this function or variable. -+ */ -+#define __visible __attribute__((externally_visible)) -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * Fixed in GCC 4.8.2 and later versions. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ --- -2.5.0 - diff --git a/recipes-kernel/linux/linux-qoriq/modify-defconfig-t1040-nr-cpus.patch b/recipes-kernel/linux/linux-qoriq/modify-defconfig-t1040-nr-cpus.patch deleted file mode 100644 index 7d109edb..00000000 --- a/recipes-kernel/linux/linux-qoriq/modify-defconfig-t1040-nr-cpus.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 8545129540a5862b22aad03badb2a9f93bf29117 Mon Sep 17 00:00:00 2001 -From: Bob Cochran -Date: Mon, 3 Nov 2014 22:45:35 -0500 -Subject: [meta-fsl-ppc][PATCH] linux-qoriq: Change defconfig for T1040 to - match number of CPUS - -Having a number higher than necessary for NR_CPUS wastes memory by -instantiating unnecessary structures in RAM. An example is in the DPAA where -DPAA_ETH_TX_QUEUES is defined based on NR_CPUS and used to create -dozens of extra qman_fq structures. Using the prior value of 24, which was -left over from the T4240 created an additonal 60 frame queue structures alone. - -This has been tested on t1040rdb-64b. . - -Signed-off-by: Bob Cochran ---- - arch/powerpc/configs/corenet32_fmanv3l_smp_defconfig | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/arch/powerpc/configs/corenet32_fmanv3l_smp_defconfig b/arch/powerpc/configs/corenet32_fmanv3l_smp_defconfig -index a401e7c..5542248 100644 ---- a/arch/powerpc/configs/corenet32_fmanv3l_smp_defconfig -+++ b/arch/powerpc/configs/corenet32_fmanv3l_smp_defconfig -@@ -1,6 +1,6 @@ - CONFIG_PPC_85xx=y - CONFIG_SMP=y --CONFIG_NR_CPUS=8 -+CONFIG_NR_CPUS=4 - CONFIG_EXPERIMENTAL=y - CONFIG_SYSVIPC=y - CONFIG_POSIX_MQUEUE=y --- -1.7.9.5 diff --git a/recipes-kernel/linux/linux-qoriq/only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch b/recipes-kernel/linux/linux-qoriq/only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch deleted file mode 100644 index 5f3220d9..00000000 --- a/recipes-kernel/linux/linux-qoriq/only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 15895f6880829ee502f0a48412173fb452b23c0b Mon Sep 17 00:00:00 2001 -From: Ting Liu -Date: Fri, 17 Jun 2016 10:57:35 +0800 -Subject: [PATCH] only set vmpic_msi_feature if CONFIG_EPAPR_PARAVIRT defined - -Upstream-Status: Pending - -Signed-off-by: Ting Liu ---- - arch/powerpc/sysdev/fsl_msi.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c -index 963661a..95d7111 100644 ---- a/arch/powerpc/sysdev/fsl_msi.c -+++ b/arch/powerpc/sysdev/fsl_msi.c -@@ -658,10 +658,12 @@ static const struct fsl_msi_feature ipic_msi_feature = { - .msiir_offset = 0x38, - }; - -+#ifdef CONFIG_EPAPR_PARAVIRT - static const struct fsl_msi_feature vmpic_msi_feature = { - .fsl_pic_ip = FSL_PIC_IP_VMPIC, - .msiir_offset = 0, - }; -+#endif - - static const struct of_device_id fsl_of_msi_ids[] = { - { --- -1.9.2 - diff --git a/recipes-kernel/linux/linux-qoriq/powerpc-64e-Convert-cmpi-to-cmpwi-in-head_64.S.patch b/recipes-kernel/linux/linux-qoriq/powerpc-64e-Convert-cmpi-to-cmpwi-in-head_64.S.patch deleted file mode 100644 index 710b2122..00000000 --- a/recipes-kernel/linux/linux-qoriq/powerpc-64e-Convert-cmpi-to-cmpwi-in-head_64.S.patch +++ /dev/null @@ -1,57 +0,0 @@ -From f87f253bac3ce4a4eb2a60a1ae604d74e65f9042 Mon Sep 17 00:00:00 2001 -From: Nicholas Piggin -Date: Thu, 24 Nov 2016 00:02:07 +1100 -Subject: [PATCH] powerpc/64e: Convert cmpi to cmpwi in head_64.S - -From 80f23935cadb ("powerpc: Convert cmp to cmpd in idle enter sequence"): - - PowerPC's "cmp" instruction has four operands. Normally people write - "cmpw" or "cmpd" for the second cmp operand 0 or 1. But, frequently - people forget, and write "cmp" with just three operands. - - With older binutils this is silently accepted as if this was "cmpw", - while often "cmpd" is wanted. With newer binutils GAS will complain - about this for 64-bit code. For 32-bit code it still silently assumes - "cmpw" is what is meant. - -In this case, cmpwi is called for, so this is just a build fix for -new toolchains. - -Cc: stable@vger.kernel.org # v3.0+ -Signed-off-by: Nicholas Piggin -Signed-off-by: Michael Ellerman ---- - arch/powerpc/kernel/head_64.S | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S -index 451a8e1..bdb4612 100644 ---- a/arch/powerpc/kernel/head_64.S -+++ b/arch/powerpc/kernel/head_64.S -@@ -221,9 +221,9 @@ booting_thread_hwid: - */ - _GLOBAL(book3e_start_thread) - LOAD_REG_IMMEDIATE(r5, MSR_KERNEL) -- cmpi 0, r3, 0 -+ cmpwi r3, 0 - beq 10f -- cmpi 0, r3, 1 -+ cmpwi r3, 1 - beq 11f - /* If the thread id is invalid, just exit. */ - b 13f -@@ -248,9 +248,9 @@ _GLOBAL(book3e_start_thread) - * r3 = the thread physical id - */ - _GLOBAL(book3e_stop_thread) -- cmpi 0, r3, 0 -+ cmpwi r3, 0 - beq 10f -- cmpi 0, r3, 1 -+ cmpwi r3, 1 - beq 10f - /* If the thread id is invalid, just exit. */ - b 13f --- -2.7.4 - diff --git a/recipes-kernel/linux/linux-qoriq/powerpc-fsl-Fix-build-of-the-dtb-embedded-kernel-images.patch b/recipes-kernel/linux/linux-qoriq/powerpc-fsl-Fix-build-of-the-dtb-embedded-kernel-images.patch deleted file mode 100644 index 1103f0c2..00000000 --- a/recipes-kernel/linux/linux-qoriq/powerpc-fsl-Fix-build-of-the-dtb-embedded-kernel-images.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 4680c9d50637f78338e786c920aef6c171c7cc00 Mon Sep 17 00:00:00 2001 -From: Alessio Igor Bogani -Date: Mon, 18 Apr 2016 08:36:19 +0200 -Subject: powerpc/fsl: Fix build of the dtb embedded kernel images - -Commit dc37374b9c833 ("powerpc/fsl: Move Freescale device tree files -into fsl folder") moved a lot of device tree files into fsl directory, -fixing Makefile for cuImage target only. Unfortunately there are other -targets which require embedding a device tree into the kernel image -(e.g. dtbImage.%). So use a more generic approach. - -Signed-off-by: Alessio Igor Bogani -[scottwood: cleaned up commit message] -Signed-off-by: Scott Wood ---- - arch/powerpc/boot/Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile -index 6116510..8fe78a3 100644 ---- a/arch/powerpc/boot/Makefile -+++ b/arch/powerpc/boot/Makefile -@@ -362,9 +362,6 @@ $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits) - $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) - $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb) - --$(obj)/cuImage.%: vmlinux $(obj)/fsl/%.dtb $(wrapperbits) -- $(call if_changed,wrap,cuboot-$*,,$(obj)/fsl/$*.dtb) -- - $(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits) - $(call if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz) - -@@ -381,6 +378,9 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) - $(obj)/%.dtb: $(src)/dts/%.dts FORCE - $(call if_changed_dep,dtc) - -+$(obj)/%.dtb: $(src)/dts/fsl/%.dts FORCE -+ $(call if_changed_dep,dtc) -+ - # If there isn't a platform selected then just strip the vmlinux. - ifeq (,$(image-y)) - image-y := vmlinux.strip --- -cgit v0.12 - diff --git a/recipes-kernel/linux/linux-qoriq/powerpc-vdso64-Use-double-word-compare-on-pointers.patch b/recipes-kernel/linux/linux-qoriq/powerpc-vdso64-Use-double-word-compare-on-pointers.patch deleted file mode 100644 index 9fa40de4..00000000 --- a/recipes-kernel/linux/linux-qoriq/powerpc-vdso64-Use-double-word-compare-on-pointers.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 5045ea37377ce8cca6890d32b127ad6770e6dce5 Mon Sep 17 00:00:00 2001 -From: Anton Blanchard -Date: Sun, 25 Sep 2016 17:16:53 +1000 -Subject: [PATCH] powerpc/vdso64: Use double word compare on pointers - -__kernel_get_syscall_map() and __kernel_clock_getres() use cmpli to -check if the passed in pointer is non zero. cmpli maps to a 32 bit -compare on binutils, so we ignore the top 32 bits. - -A simple test case can be created by passing in a bogus pointer with -the bottom 32 bits clear. Using a clk_id that is handled by the VDSO, -then one that is handled by the kernel shows the problem: - - printf("%d\n", clock_getres(CLOCK_REALTIME, (void *)0x100000000)); - printf("%d\n", clock_getres(CLOCK_BOOTTIME, (void *)0x100000000)); - -And we get: - - 0 - -1 - -The bigger issue is if we pass a valid pointer with the bottom 32 bits -clear, in this case we will return success but won't write any data -to the pointer. - -I stumbled across this issue because the LLVM integrated assembler -doesn't accept cmpli with 3 arguments. Fix this by converting them to -cmpldi. - -Fixes: a7f290dad32e ("[PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel") -Cc: stable@vger.kernel.org # v2.6.15+ -Signed-off-by: Anton Blanchard -Signed-off-by: Michael Ellerman ---- - arch/powerpc/kernel/vdso64/datapage.S | 2 +- - arch/powerpc/kernel/vdso64/gettimeofday.S | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/powerpc/kernel/vdso64/datapage.S b/arch/powerpc/kernel/vdso64/datapage.S -index 184a6ba..abf17fe 100644 ---- a/arch/powerpc/kernel/vdso64/datapage.S -+++ b/arch/powerpc/kernel/vdso64/datapage.S -@@ -59,7 +59,7 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map) - bl V_LOCAL_FUNC(__get_datapage) - mtlr r12 - addi r3,r3,CFG_SYSCALL_MAP64 -- cmpli cr0,r4,0 -+ cmpldi cr0,r4,0 - crclr cr0*4+so - beqlr - li r0,NR_syscalls -diff --git a/arch/powerpc/kernel/vdso64/gettimeofday.S b/arch/powerpc/kernel/vdso64/gettimeofday.S -index a76b4af..3820213 100644 ---- a/arch/powerpc/kernel/vdso64/gettimeofday.S -+++ b/arch/powerpc/kernel/vdso64/gettimeofday.S -@@ -145,7 +145,7 @@ V_FUNCTION_BEGIN(__kernel_clock_getres) - bne cr0,99f - - li r3,0 -- cmpli cr0,r4,0 -+ cmpldi cr0,r4,0 - crclr cr0*4+so - beqlr - lis r5,CLOCK_REALTIME_RES@h --- -2.7.4 - diff --git a/recipes-kernel/linux/linux-qoriq_4.1.bb b/recipes-kernel/linux/linux-qoriq_4.4.bb similarity index 79% rename from recipes-kernel/linux/linux-qoriq_4.1.bb rename to recipes-kernel/linux/linux-qoriq_4.4.bb index 02680e9c..6feca8f1 100644 --- a/recipes-kernel/linux/linux-qoriq_4.1.bb +++ b/recipes-kernel/linux/linux-qoriq_4.4.bb @@ -7,18 +7,9 @@ SECTION = "kernel" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" -SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1 \ - file://modify-defconfig-t1040-nr-cpus.patch \ - file://0003-use-static-inline-in-ARM-lifeboot.h.patch \ - file://fix-the-compile-issue-under-gcc6.patch \ - file://only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch \ - file://powerpc-fsl-Fix-build-of-the-dtb-embedded-kernel-images.patch \ - file://CVE-2016-2053.patch \ - file://CVE-2016-0758.patch \ - file://powerpc-64e-Convert-cmpi-to-cmpwi-in-head_64.S.patch \ - file://powerpc-vdso64-Use-double-word-compare-on-pointers.patch \ +SRC_URI = "git://github.com/qoriq-open-source/linux.git;nobranch=1 \ " -SRCREV = "1ae843c08261402b2c35d83422e4fa1e313611f4" +SRCREV = "ec61f521be6a22b100aabc0e2726c670aec3c845" S = "${WORKDIR}/git" -- 2.40.1