Received: by 2002:a4a:311b:0:0:0:0:0 with SMTP id k27-v6csp4803103ooa; Tue, 14 Aug 2018 10:45:52 -0700 (PDT) X-Google-Smtp-Source: AA+uWPxQUhnS1jgBAFQjWB46D4u6XyIWNDWyy9nQ5qMkNoIepAu8Oy8nuMs/T+fqJPhCktKu5KG2 X-Received: by 2002:a63:7b4d:: with SMTP id k13-v6mr21906870pgn.64.1534268752397; Tue, 14 Aug 2018 10:45:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534268752; cv=none; d=google.com; s=arc-20160816; b=XW62Us70X+sTxEkknfYJG9Cu6b3yGVp5t/7XvbMPxw1S5O46I6dx7XrNyGyGNRdOV8 OC8q1OCd/JqpDYXVTvX4Ili2GqOpAiN9KGw0rz5OE7WEEitLWwHjW2pZguDd9KJnBeGC vVU/U5O9n8o8rn0vrFQls4EgXcGGRkeRjobW5d5Zb0TV/ENtE6PmEoyth71ezaN+D675 vf2E0ayE+if5oqoH0+ifvqzOI5StX34jb+oRMPcy2Zimup+vc6FAXzgQrvVPhmH9EyPV wneNrVPRr9Z1tP5WmJdUtFrBMHqkp1xmzPTpsI2YMe279UEEc/MNKO+eETMZFqJbzyLQ j9Hw== 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=tt0CKPVD7PK70czHFyoIJyWRbe6YRxucR52Z6HCqLVs=; b=G05JJOI/vHxKbtrzo52CbLnj1m6QeNvEe2YNi2gYoY6RJqcNhvrZtrA4PrfADZ9hEj OP1wbRgfrbNNuYeB7DhGQOnC4Au1yN9t6iu70ikMKvt1k1p6UAZiZ2yZ9CgKdLFfHCv8 dPeN6qAistS27frMEP/dswHv1laoFno6xLbQ6Zt+uqjA6G72K13aF6s263zhbzVMeRvc Xq/T+kA2eqtlo+Hv6iGkEzvQhGlJuEuLW4H1qMbHZUc1NQy8Rh6NnJzTnePK++uVBs6d Tww2vcDt6M1YRgWoFQTfdcbykkxUws2T1MZ4cXQlPNTxk1AcnXv6upIScd9J+aLHiKfY QI5Q== 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 g6-v6si11510397plm.181.2018.08.14.10.45.37; Tue, 14 Aug 2018 10:45:52 -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 S2390728AbeHNUc1 (ORCPT + 99 others); Tue, 14 Aug 2018 16:32:27 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:60004 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728642AbeHNUc1 (ORCPT ); Tue, 14 Aug 2018 16:32:27 -0400 Received: from localhost (unknown [194.244.16.108]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 4887EC8D; Tue, 14 Aug 2018 17:44:15 +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 , David Woodhouse Subject: [PATCH 4.9 089/107] x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d Date: Tue, 14 Aug 2018 19:17:52 +0200 Message-Id: <20180814171526.267812164@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180814171520.883143803@linuxfoundation.org> References: <20180814171520.883143803@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.9-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: David Woodhouse 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 @@ -12,6 +12,7 @@ #include #include #include +#include #define ARCH_APICTIMER_STOPS_ON_C3 1 @@ -647,6 +648,7 @@ static inline void entering_irq(void) { irq_enter(); exit_idle(); + kvm_set_cpu_l1tf_flush_l1d(); } static inline void entering_ack_irq(void) @@ -659,6 +661,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 @@ -271,6 +271,7 @@ __visible void __irq_entry smp_reschedul /* * KVM uses this interrupt to force a cpu out of guest mode */ + kvm_set_cpu_l1tf_flush_l1d(); } __visible void __irq_entry smp_trace_reschedule_interrupt(struct pt_regs *regs) --- a/arch/x86/platform/uv/tlb_uv.c +++ b/arch/x86/platform/uv/tlb_uv.c @@ -1283,6 +1283,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());