Version 2 of the speculative execution mitigation for s390. Changes to v1: * The KVM patch to add the guest bpb feature already went upstream. * Dropped the patch to introduce the gmb barrier to defend against spectre variant 1 until the bikeshedding in regard to the naming is done. * Switched from a system call to the PR_ISOLATE_BP process control to run user space tasks with branch prediction isolation. My main question is if the prctl(PR_ISOLATE_BP) makes sense. Martin Schwidefsky (5): prctl: add PR_ISOLATE_BP process control s390/alternative: use a copy of the facility bit mask s390: add options to change branch prediction behaviour for the kernel s390: define ISOLATE_BP to run tasks with modified branch prediction s390: scrub registers on kernel entry and KVM exit arch/s390/Kconfig | 17 +++++ arch/s390/include/asm/facility.h | 18 +++++ arch/s390/include/asm/lowcore.h | 3 +- arch/s390/include/asm/processor.h | 4 ++ arch/s390/include/asm/thread_info.h | 4 ++ arch/s390/kernel/alternative.c | 26 ++++++- arch/s390/kernel/early.c | 5 ++ arch/s390/kernel/entry.S | 134 +++++++++++++++++++++++++++++++++++- arch/s390/kernel/ipl.c | 1 + arch/s390/kernel/processor.c | 8 +++ arch/s390/kernel/setup.c | 4 +- arch/s390/kernel/smp.c | 6 +- include/uapi/linux/prctl.h | 8 +++ kernel/sys.c | 6 ++ 14 files changed, 238 insertions(+), 6 deletions(-) -- 2.7.4