Received: by 2002:a4a:311b:0:0:0:0:0 with SMTP id k27-v6csp4794804ooa; Tue, 14 Aug 2018 10:38:49 -0700 (PDT) X-Google-Smtp-Source: AA+uWPyeYHvnScUWe56w7WQvmNNjkhhW6ke+o3Zx79v6HGagoNgcjaljQJ5QdPpwVOlW6CMGQckg X-Received: by 2002:a65:630e:: with SMTP id g14-v6mr22129859pgv.153.1534268329205; Tue, 14 Aug 2018 10:38:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534268329; cv=none; d=google.com; s=arc-20160816; b=PWXkxywlDbD6kNXDybILsh5SCRHIH4pQxT93hAUsrYjaPOSwqjpEDEgI3Lqg+9AejC Y8Gn2ya/WcIgegIdspCoeqfV/3GaXzyZTModa6iDtOylM4pYBA4e27pdCnDYUQZrZ0mi 43wMaD2n0gDSLOHVik9F6BQAdH/gOVkdQla1/OOFoGzdYmGcEAjHdmn2jSxi46TfJg3w fj56jIarGz5YpREOnzN6Z8KCupRRXslDpk29Joz4FflqREpvbqbjPhHT1V9SFYOXwURa 5kgeGRx6ZH33yhS5dVFi+qVxpcRih/cWXytFRHYgPx1ythaExR5++QujeMgbgifdSYR9 5HqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=04BkSNhX9JHEPySlVljkDS4j2IyehprW+ATALoXZzHI=; b=Eq1gqNN26vNkyn4V/uq4zUgFBYtK2I73pwZkavH0FGpl5pG1RrZiKQ6khRycLODyMK AInaxLORd6gjqQpoFQogF6q0lYU1q/m89SddIMYpuJSFUORUnfiLgQ17vVWO4dAA7Agv gAOzBQoS5IKLg66g9BcCqTSt8X+gf7o9lKvnG8Rk9RcvZ2zjaiomKBCbWE/WGe4fmwRS PDa28nVb9w7QjuPh34RXyFsWB9bZhYqN+N3jZry4Er6iaji0bja8f6bVk+ClBkxRaLr4 4zpgwPMcOIUkSdCUfm3kbJhZWdS3AwUvNS2NBZB7cedFC8i7/GGk1EiKqwogPtO2Gaba g1bA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b4-v6si3470891plb.215.2018.08.14.10.38.34; Tue, 14 Aug 2018 10:38:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732488AbeHNUZw (ORCPT + 99 others); Tue, 14 Aug 2018 16:25:52 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:58168 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728396AbeHNUZv (ORCPT ); Tue, 14 Aug 2018 16:25:51 -0400 Received: from localhost (unknown [194.244.16.108]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 83BF8CBA; Tue, 14 Aug 2018 17:37:41 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Paolo Bonzini , Nicolai Stange , Thomas Gleixner Subject: [PATCH 4.14 087/104] x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d Date: Tue, 14 Aug 2018 19:17:41 +0200 Message-Id: <20180814171520.847109076@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180814171515.270692185@linuxfoundation.org> References: <20180814171515.270692185@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Nicolai Stange commit ffcba43ff66c7dab34ec700debd491d2a4d319b4 upstream The last missing piece to having vmx_l1d_flush() take interrupts after VMEXIT into account is to set the kvm_cpu_l1tf_flush_l1d per-cpu flag on irq entry. Issue calls to kvm_set_cpu_l1tf_flush_l1d() from entering_irq(), ipi_entering_ack_irq(), smp_reschedule_interrupt() and uv_bau_message_interrupt(). Suggested-by: Paolo Bonzini Signed-off-by: Nicolai Stange Signed-off-by: Thomas Gleixner Signed-off-by: Greg Kroah-Hartman --- arch/x86/include/asm/apic.h | 3 +++ arch/x86/kernel/smp.c | 1 + arch/x86/platform/uv/tlb_uv.c | 1 + 3 files changed, 5 insertions(+) --- a/arch/x86/include/asm/apic.h +++ b/arch/x86/include/asm/apic.h @@ -10,6 +10,7 @@ #include #include #include +#include #define ARCH_APICTIMER_STOPS_ON_C3 1 @@ -626,6 +627,7 @@ extern void irq_exit(void); static inline void entering_irq(void) { irq_enter(); + kvm_set_cpu_l1tf_flush_l1d(); } static inline void entering_ack_irq(void) @@ -638,6 +640,7 @@ static inline void ipi_entering_ack_irq( { irq_enter(); ack_APIC_irq(); + kvm_set_cpu_l1tf_flush_l1d(); } static inline void exiting_irq(void) --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -261,6 +261,7 @@ __visible void __irq_entry smp_reschedul { ack_APIC_irq(); inc_irq_stat(irq_resched_count); + kvm_set_cpu_l1tf_flush_l1d(); if (trace_resched_ipi_enabled()) { /* --- a/arch/x86/platform/uv/tlb_uv.c +++ b/arch/x86/platform/uv/tlb_uv.c @@ -1285,6 +1285,7 @@ void uv_bau_message_interrupt(struct pt_ struct msg_desc msgdesc; ack_APIC_irq(); + kvm_set_cpu_l1tf_flush_l1d(); time_start = get_cycles(); bcp = &per_cpu(bau_control, smp_processor_id());