From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x224cT9maQNI+q0ToVmpq8VgW6dlL7ytSM+wzQkv5qLOPtLvbd5UT6mz2aojlm/dxnFyuSpTN ARC-Seal: i=1; a=rsa-sha256; t=1516528266; cv=none; d=google.com; s=arc-20160816; b=pPEeE2SYqDL6vhn4CKl2ntxxy2sF56OyCR3Uop+K8Lz+rxXqbwlJ58UgbbYvVFOez7 F6qn9SNhefExsFvnuC+QjVru9vk9ChpJZOCUVtqM6psfqvaR/p7AFeqFK3090btUopm/ ri0Ok5A+FENSSCwB+1e5m/LOHd1ywXuJQS0Lt8JJ8T85s6ViHN0v2NlniTj+PGg8XseD +Ler6A2UACm6xAtqDbe0QlGWRH46seDkxee4gvPa1Ot0uVTp1OlzZASiOIMPWAvWZ+Jq /D9R4rfKXIvxM3V0RzoVQ2wEZVcyYEajEOmbzY5wAAXVe5dxTQjeTRrZ0hG/6MooTet4 MjWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:to:from :dkim-signature:arc-authentication-results; bh=1GTayTy8nk5BwNQrcIcRPKQ1G24jirQNjNDNfrtuUDA=; b=szGoBtET3A4X17YzAuzNYj0umo2twfAzUGLmhC3CQVubR2MxWcE7+bHdZdnL0rOgS4 KkY2V1Oenr+jyZ0VxXgjHGwsXHOzbBoGWmzYVp3d3HnXSHUTqJMBOL7T0ys7dEsmCc3H 3hk29K+3Qiqwu3QAwVfroX+1wKtvNziZG4TkWQBpqtZTkTPwrkI71qjBI9BaEF3Oj8Qc LcDtfu41V+c8rPeaUUMSKD5QLd1WWzxi/di10cQpxpE3fgc66FFTkuLkCgAoMfyaSZRB zHIE1fKwswe1I+m20sY2XkA2fqb8rUzhHKRGjRD1nK7FO8FFeUxcYgUWk/joKLkRujzE rT3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.co.uk header.s=amazon201209 header.b=LtpVXQqj; spf=pass (google.com: domain of prvs=552b621e3=dwmw@amazon.com designates 207.171.184.25 as permitted sender) smtp.mailfrom=prvs=552b621e3=dwmw@amazon.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.co.uk Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.co.uk header.s=amazon201209 header.b=LtpVXQqj; spf=pass (google.com: domain of prvs=552b621e3=dwmw@amazon.com designates 207.171.184.25 as permitted sender) smtp.mailfrom=prvs=552b621e3=dwmw@amazon.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.co.uk X-IronPort-AV: E=Sophos;i="5.46,390,1511827200"; d="scan'208";a="720512084" From: David Woodhouse To: arjan@linux.intel.com, tglx@linutronix.de, karahmed@amazon.de, x86@kernel.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, bp@alien8.de, peterz@infradead.org, pbonzini@redhat.com, ak@linux.intel.com, torvalds@linux-foundation.org, gregkh@linux-foundation.org Subject: [PATCH v2 7/8] x86/speculation: Use Indirect Branch Prediction Barrier in context switch Date: Sun, 21 Jan 2018 09:49:08 +0000 Message-Id: <1516528149-9370-8-git-send-email-dwmw@amazon.co.uk> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516528149-9370-1-git-send-email-dwmw@amazon.co.uk> References: <1516528149-9370-1-git-send-email-dwmw@amazon.co.uk> X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590195144043453816?= X-GMAIL-MSGID: =?utf-8?q?1590195144043453816?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: From: Thomas Gleixner [peterz: comment] Signed-off-by: Thomas Gleixner Signed-off-by: Peter Zijlstra (Intel) Signed-off-by: David Woodhouse --- arch/x86/mm/tlb.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c index a156195..304de7d 100644 --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c @@ -6,13 +6,14 @@ #include #include #include +#include #include #include +#include #include #include #include -#include /* * TLB flushing, formerly SMP-only @@ -220,6 +221,13 @@ void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next, u16 new_asid; bool need_flush; + /* + * Avoid user/user BTB poisoning by flushing the branch predictor + * when switching between processes. This stops one process from + * doing Spectre-v2 attacks on another. + */ + indirect_branch_prediction_barrier(); + if (IS_ENABLED(CONFIG_VMAP_STACK)) { /* * If our current stack is in vmalloc space and isn't -- 2.7.4