aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel')
-rw-r--r--recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch39
-rw-r--r--recipes-kernel/linux/linux-qoriq/CVE-2016-0758.patch98
-rw-r--r--recipes-kernel/linux/linux-qoriq/CVE-2016-2053.patch133
-rw-r--r--recipes-kernel/linux/linux-qoriq/fix-the-compile-issue-under-gcc6.patch103
-rw-r--r--recipes-kernel/linux/linux-qoriq/modify-defconfig-t1040-nr-cpus.patch33
-rw-r--r--recipes-kernel/linux/linux-qoriq/only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch32
-rw-r--r--recipes-kernel/linux/linux-qoriq/powerpc-64e-Convert-cmpi-to-cmpwi-in-head_64.S.patch57
-rw-r--r--recipes-kernel/linux/linux-qoriq/powerpc-fsl-Fix-build-of-the-dtb-embedded-kernel-images.patch45
-rw-r--r--recipes-kernel/linux/linux-qoriq/powerpc-vdso64-Use-double-word-compare-on-pointers.patch67
-rw-r--r--recipes-kernel/linux/linux-qoriq_4.4.bb (renamed from recipes-kernel/linux/linux-qoriq_4.1.bb)13
10 files changed, 2 insertions, 618 deletions
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 <B40290@freescale.com>
-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 <dhowells@redhat.com>
-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 <dhowells@redhat.com>
-Reviewed-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
-Acked-by: David Woodhouse <David.Woodhouse@intel.com>
-Acked-by: Peter Jones <pjones@redhat.com>
-Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
----
- 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 <dhowells@redhat.com>
-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 <marcel@holtmann.org>
-Signed-off-by: David Howells <dhowells@redhat.com>
-Tested-by: Marcel Holtmann <marcel@holtmann.org>
-Reviewed-by: David Woodhouse <David.Woodhouse@intel.com>
-Cc: Moritz Muehlenhoff <jmm@inutil.org>
-[ luis: backported to 3.16: adjusted context ]
-Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
-Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
----
- 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 <zhenhua.luo@nxp.com>
-
-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 <linux/compiler-gcc5.h> directly, include <linux/compiler.h> 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 <yocto@mindchasers.com>
-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 <yocto@mindchasers.com>
----
- 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 <ting.liu@nxp.com>
-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 <ting.liu@nxp.com>
----
- 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 <npiggin@gmail.com>
-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 <npiggin@gmail.com>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
----
- 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 <alessio.bogani@elettra.eu>
-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 <alessio.bogani@elettra.eu>
-[scottwood: cleaned up commit message]
-Signed-off-by: Scott Wood <oss@buserror.net>
----
- 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 <anton@samba.org>
-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 <anton@samba.org>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
----
- 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
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"