diff --git a/debian/changelog b/debian/changelog index 0c16d7c06..e74e9e830 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (4.10~rc7-1~exp1) UNRELEASED; urgency=medium + + * New upstream release candidate + + -- Ben Hutchings Tue, 07 Feb 2017 00:22:47 +0000 + linux (4.10~rc6-1~exp2) experimental; urgency=medium * [s390x] Un-revert upstream change moving exports to assembly sources diff --git a/debian/patches/bugfix/powerpc/powerpc-revert-the-initial-stack-protector-support.patch b/debian/patches/bugfix/powerpc/powerpc-revert-the-initial-stack-protector-support.patch deleted file mode 100644 index e897aab25..000000000 --- a/debian/patches/bugfix/powerpc/powerpc-revert-the-initial-stack-protector-support.patch +++ /dev/null @@ -1,149 +0,0 @@ -From: Michael Ellerman -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 ---- - 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 --#include --#include -- --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 - #include - --#ifdef CONFIG_CC_STACKPROTECTOR --#include --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) diff --git a/debian/patches/series b/debian/patches/series index f32cb0b7f..35648a126 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -48,7 +48,6 @@ debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch # Arch bug fixes 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/powerpc/powerpc-revert-the-initial-stack-protector-support.patch # Arch features features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch