From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x224ZdjdvSjLDk242DcHM6vOPRzTHbye3VHbwemzNbVGAKM1pr7J0UMqMMCheRY6sYUyUAUzN ARC-Seal: i=1; a=rsa-sha256; t=1516712833; cv=none; d=google.com; s=arc-20160816; b=WdlhsDfRow9OvE6oKv4RLIrWL+oPRPYa4vT5x9AgFo1gqwlLOrobMRdDDxwTXTSC/V AMty5A8dE1uH02bfOphPgNqdpQZI3KCxy7xwYLa4TmoeQrGyGBaFuzT38vqz3mzoDMC9 0LcLB5lJtAcLQEIhR0lMEIAPatTZy2hYOmMswMUiqXEVyPnD0FmCilFy3zSVPG/9vB/e AeLcT6BqGkCw85dZ2T0gZimnRCQeco3CTHalfODY5WG3OQsmKk2Xk9oU6Cpr8n3Z5sAg omMePjtjENyHWEatqcI6jB3VoDOi0bq3EEd4UvGjMjveBR/tHKJKKRvIGGrTmzbMfYb5 VuKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from:arc-authentication-results; bh=rD8cAdmuDKXOncvQ6iqUiSBa2jc8BgaMOht8E6h/ckg=; b=HPJuvY8dG31D0fSnNPMJ56y7o0n/5rZq4EUhAF6F3wvU4r+s886vFlnW/i3OY3VxFp P4Pnrm+PYAfE084inlGI5DzTmFYJk6w+b1wHzWLOWDzOLutOrkeM9tLO90McPOqBvMth 05TbGjWUE+e2GrpmJazKdhp6llxMapIr6HyfxUIbZS7iW13jpAVojQA2rYsS7kAJY6Tr zIvv9E5fiihC/lWtSeR3d0/r0inIOYmMxk6P8TAGSvCeWBJdbTTbr55j+zQvDbaHnshf E2F8E1yvOzgR0nRdBJKk6o+l0KvCWlhkgz/jhEgH0G/s3g5sRhb8yQb1BGutWURJzA7F VxMg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of schwidefsky@de.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=schwidefsky@de.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Authentication-Results: mx.google.com; spf=pass (google.com: domain of schwidefsky@de.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=schwidefsky@de.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com From: Martin Schwidefsky To: linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, kvm@vger.kernel.org Cc: Heiko Carstens , Christian Borntraeger , Paolo Bonzini , Cornelia Huck , David Hildenbrand , Greg Kroah-Hartman , Jon Masters , Marcus Meissner , Jiri Kosina Subject: [RFC][PATCH 0/5] s390: improve speculative execution handling v2 Date: Tue, 23 Jan 2018 14:07:00 +0100 X-Mailer: git-send-email 2.7.4 X-TM-AS-GCONF: 00 x-cbid: 18012313-0012-0000-0000-000005A6DA9C X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18012313-0013-0000-0000-000019226216 Message-Id: <1516712825-2917-1-git-send-email-schwidefsky@de.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-01-23_03:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1801230179 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590388675751076437?= X-GMAIL-MSGID: =?utf-8?q?1590388675751076437?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: 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