[PATCH v2 0/2] Clean up x86_32 stackprotector

From: Andy Lutomirski
Date: Sat Feb 13 2021 - 14:20:39 EST


x86_32 stackprotector is a maintenance nightmare. Clean it up. This
disables stackprotector on x86_32 on GCC 8.1 and on all clang
versions. Some clang people are cc'd.

Changes from v1:
- Changelog fixes.
- Comment fixes (mostly from Sean).
- Fix the !SMP case.

Andy Lutomirski (2):
x86/stackprotector/32: Make the canary into a regular percpu variable
x86/entry/32: Remove leftover macros after stackprotector cleanups

arch/x86/Kconfig | 7 +-
arch/x86/Makefile | 8 ++
arch/x86/entry/entry_32.S | 95 +----------------------
arch/x86/include/asm/processor.h | 15 +---
arch/x86/include/asm/ptrace.h | 5 +-
arch/x86/include/asm/segment.h | 30 ++-----
arch/x86/include/asm/stackprotector.h | 79 ++++---------------
arch/x86/include/asm/suspend_32.h | 6 +-
arch/x86/kernel/asm-offsets_32.c | 5 --
arch/x86/kernel/cpu/common.c | 5 +-
arch/x86/kernel/doublefault_32.c | 4 +-
arch/x86/kernel/head_32.S | 18 +----
arch/x86/kernel/setup_percpu.c | 1 -
arch/x86/kernel/tls.c | 8 +-
arch/x86/kvm/svm/svm.c | 10 +--
arch/x86/lib/insn-eval.c | 4 -
arch/x86/platform/pvh/head.S | 14 ----
arch/x86/power/cpu.c | 6 +-
arch/x86/xen/enlighten_pv.c | 1 -
scripts/gcc-x86_32-has-stack-protector.sh | 6 +-
20 files changed, 62 insertions(+), 265 deletions(-)

--
2.29.2