Update to 4.10-rc7
This commit is contained in:
parent
3af020874b
commit
63ef596c74
|
@ -1,3 +1,9 @@
|
||||||
|
linux (4.10~rc7-1~exp1) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release candidate
|
||||||
|
|
||||||
|
-- Ben Hutchings <ben@decadent.org.uk> Tue, 07 Feb 2017 00:22:47 +0000
|
||||||
|
|
||||||
linux (4.10~rc6-1~exp2) experimental; urgency=medium
|
linux (4.10~rc6-1~exp2) experimental; urgency=medium
|
||||||
|
|
||||||
* [s390x] Un-revert upstream change moving exports to assembly sources
|
* [s390x] Un-revert upstream change moving exports to assembly sources
|
||||||
|
|
|
@ -1,149 +0,0 @@
|
||||||
From: Michael Ellerman <mpe@ellerman.id.au>
|
|
||||||
Date: Tue, 24 Jan 2017 21:37:20 +1100
|
|
||||||
Subject: powerpc: Revert the initial stack protector support
|
|
||||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/powerpc/linux.git/commit?id=f2574030b0e33263b8a1c28fa3c4fa9292283799
|
|
||||||
|
|
||||||
Unfortunately the stack protector support we merged recently only works
|
|
||||||
on some toolchains. If the toolchain is built without glibc support
|
|
||||||
everything works fine, but if glibc is built then it leads to a panic
|
|
||||||
at boot.
|
|
||||||
|
|
||||||
The solution is not rc5 material, so revert the support for now. This
|
|
||||||
reverts commits:
|
|
||||||
|
|
||||||
6533b7c16ee5 ("powerpc: Initial stack protector (-fstack-protector) support")
|
|
||||||
902e06eb86cd ("powerpc/32: Change the stack protector canary value per task")
|
|
||||||
|
|
||||||
Fixes: 6533b7c16ee5 ("powerpc: Initial stack protector (-fstack-protector) support")
|
|
||||||
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
|
|
||||||
---
|
|
||||||
arch/powerpc/Kconfig | 1 -
|
|
||||||
arch/powerpc/include/asm/stackprotector.h | 40 -------------------------------
|
|
||||||
arch/powerpc/kernel/Makefile | 4 ----
|
|
||||||
arch/powerpc/kernel/asm-offsets.c | 3 ---
|
|
||||||
arch/powerpc/kernel/entry_32.S | 6 +----
|
|
||||||
arch/powerpc/kernel/process.c | 6 -----
|
|
||||||
6 files changed, 1 insertion(+), 59 deletions(-)
|
|
||||||
delete mode 100644 arch/powerpc/include/asm/stackprotector.h
|
|
||||||
|
|
||||||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
|
|
||||||
index a8ee573fe610..a46d1c0d14d3 100644
|
|
||||||
--- a/arch/powerpc/Kconfig
|
|
||||||
+++ b/arch/powerpc/Kconfig
|
|
||||||
@@ -164,7 +164,6 @@ config PPC
|
|
||||||
select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE
|
|
||||||
select HAVE_ARCH_HARDENED_USERCOPY
|
|
||||||
select HAVE_KERNEL_GZIP
|
|
||||||
- select HAVE_CC_STACKPROTECTOR
|
|
||||||
|
|
||||||
config GENERIC_CSUM
|
|
||||||
def_bool CPU_LITTLE_ENDIAN
|
|
||||||
diff --git a/arch/powerpc/include/asm/stackprotector.h b/arch/powerpc/include/asm/stackprotector.h
|
|
||||||
deleted file mode 100644
|
|
||||||
index 6720190eabec..000000000000
|
|
||||||
--- a/arch/powerpc/include/asm/stackprotector.h
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,40 +0,0 @@
|
|
||||||
-/*
|
|
||||||
- * GCC stack protector support.
|
|
||||||
- *
|
|
||||||
- * Stack protector works by putting predefined pattern at the start of
|
|
||||||
- * the stack frame and verifying that it hasn't been overwritten when
|
|
||||||
- * returning from the function. The pattern is called stack canary
|
|
||||||
- * and gcc expects it to be defined by a global variable called
|
|
||||||
- * "__stack_chk_guard" on PPC. This unfortunately means that on SMP
|
|
||||||
- * we cannot have a different canary value per task.
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
-#ifndef _ASM_STACKPROTECTOR_H
|
|
||||||
-#define _ASM_STACKPROTECTOR_H
|
|
||||||
-
|
|
||||||
-#include <linux/random.h>
|
|
||||||
-#include <linux/version.h>
|
|
||||||
-#include <asm/reg.h>
|
|
||||||
-
|
|
||||||
-extern unsigned long __stack_chk_guard;
|
|
||||||
-
|
|
||||||
-/*
|
|
||||||
- * Initialize the stackprotector canary value.
|
|
||||||
- *
|
|
||||||
- * NOTE: this must only be called from functions that never return,
|
|
||||||
- * and it must always be inlined.
|
|
||||||
- */
|
|
||||||
-static __always_inline void boot_init_stack_canary(void)
|
|
||||||
-{
|
|
||||||
- unsigned long canary;
|
|
||||||
-
|
|
||||||
- /* Try to get a semi random initial value. */
|
|
||||||
- get_random_bytes(&canary, sizeof(canary));
|
|
||||||
- canary ^= mftb();
|
|
||||||
- canary ^= LINUX_VERSION_CODE;
|
|
||||||
-
|
|
||||||
- current->stack_canary = canary;
|
|
||||||
- __stack_chk_guard = current->stack_canary;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-#endif /* _ASM_STACKPROTECTOR_H */
|
|
||||||
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
|
|
||||||
index 23f8082d7bfa..f4c2b52e58b3 100644
|
|
||||||
--- a/arch/powerpc/kernel/Makefile
|
|
||||||
+++ b/arch/powerpc/kernel/Makefile
|
|
||||||
@@ -19,10 +19,6 @@ CFLAGS_init.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
|
|
||||||
CFLAGS_btext.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
|
|
||||||
CFLAGS_prom.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
|
|
||||||
|
|
||||||
-# -fstack-protector triggers protection checks in this code,
|
|
||||||
-# but it is being used too early to link to meaningful stack_chk logic.
|
|
||||||
-CFLAGS_prom_init.o += $(call cc-option, -fno-stack-protector)
|
|
||||||
-
|
|
||||||
ifdef CONFIG_FUNCTION_TRACER
|
|
||||||
# Do not trace early boot code
|
|
||||||
CFLAGS_REMOVE_cputable.o = -mno-sched-epilog $(CC_FLAGS_FTRACE)
|
|
||||||
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
|
|
||||||
index 0601e6a7297c..195a9fc8f81c 100644
|
|
||||||
--- a/arch/powerpc/kernel/asm-offsets.c
|
|
||||||
+++ b/arch/powerpc/kernel/asm-offsets.c
|
|
||||||
@@ -91,9 +91,6 @@ int main(void)
|
|
||||||
DEFINE(TI_livepatch_sp, offsetof(struct thread_info, livepatch_sp));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#ifdef CONFIG_CC_STACKPROTECTOR
|
|
||||||
- DEFINE(TSK_STACK_CANARY, offsetof(struct task_struct, stack_canary));
|
|
||||||
-#endif
|
|
||||||
DEFINE(KSP, offsetof(struct thread_struct, ksp));
|
|
||||||
DEFINE(PT_REGS, offsetof(struct thread_struct, regs));
|
|
||||||
#ifdef CONFIG_BOOKE
|
|
||||||
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
|
|
||||||
index 5742dbdbee46..3841d749a430 100644
|
|
||||||
--- a/arch/powerpc/kernel/entry_32.S
|
|
||||||
+++ b/arch/powerpc/kernel/entry_32.S
|
|
||||||
@@ -674,11 +674,7 @@ BEGIN_FTR_SECTION
|
|
||||||
mtspr SPRN_SPEFSCR,r0 /* restore SPEFSCR reg */
|
|
||||||
END_FTR_SECTION_IFSET(CPU_FTR_SPE)
|
|
||||||
#endif /* CONFIG_SPE */
|
|
||||||
-#if defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_SMP)
|
|
||||||
- lwz r0,TSK_STACK_CANARY(r2)
|
|
||||||
- lis r4,__stack_chk_guard@ha
|
|
||||||
- stw r0,__stack_chk_guard@l(r4)
|
|
||||||
-#endif
|
|
||||||
+
|
|
||||||
lwz r0,_CCR(r1)
|
|
||||||
mtcrf 0xFF,r0
|
|
||||||
/* r3-r12 are destroyed -- Cort */
|
|
||||||
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
|
|
||||||
index 04885cec24df..5dd056df0baa 100644
|
|
||||||
--- a/arch/powerpc/kernel/process.c
|
|
||||||
+++ b/arch/powerpc/kernel/process.c
|
|
||||||
@@ -64,12 +64,6 @@
|
|
||||||
#include <linux/kprobes.h>
|
|
||||||
#include <linux/kdebug.h>
|
|
||||||
|
|
||||||
-#ifdef CONFIG_CC_STACKPROTECTOR
|
|
||||||
-#include <linux/stackprotector.h>
|
|
||||||
-unsigned long __stack_chk_guard __read_mostly;
|
|
||||||
-EXPORT_SYMBOL(__stack_chk_guard);
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
/* Transactional Memory debug */
|
|
||||||
#ifdef TM_DEBUG_SW
|
|
||||||
#define TM_DEBUG(x...) printk(KERN_INFO x)
|
|
|
@ -48,7 +48,6 @@ debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch
|
||||||
# Arch bug fixes
|
# Arch bug fixes
|
||||||
bugfix/x86/asoc-intel-select-dw_dmac_core-since-it-s-mandatory.patch
|
bugfix/x86/asoc-intel-select-dw_dmac_core-since-it-s-mandatory.patch
|
||||||
bugfix/sparc/sparc-topology_64.h-fix-condition-for-including-cpudata.h.patch
|
bugfix/sparc/sparc-topology_64.h-fix-condition-for-including-cpudata.h.patch
|
||||||
bugfix/powerpc/powerpc-revert-the-initial-stack-protector-support.patch
|
|
||||||
|
|
||||||
# Arch features
|
# Arch features
|
||||||
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
|
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
|
||||||
|
|
Loading…
Reference in New Issue