Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3704224imu; Mon, 7 Jan 2019 08:02:32 -0800 (PST) X-Google-Smtp-Source: ALg8bN5SsGbkIcDfL6cxn8AeN7lj8fCiSqiPLJ/IZSlGQQGCZ8gWZKDDMSejaJNQsbjJw25CcEWY X-Received: by 2002:a65:610d:: with SMTP id z13mr11596695pgu.427.1546876952881; Mon, 07 Jan 2019 08:02:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546876952; cv=none; d=google.com; s=arc-20160816; b=soUYqedP+XspA9/NXgaN4+7fIYOHZVL84bOqeTaFLDZAny8+n4HRE8cogeWIeAdhIS u6FG1d4ZmXD6H2EXtHdFroVJOAfySv0XtCYkd6PdlpyYmL+aHCuR/HyvpOxNfYmdORKP v9dmduTwlTS7ZFzfhciydLhMr0tAynHDoHjfrDeHbleQAleYH61FAtFmRpPZ+BgLRecz R3bN2l6QGCASZbXuOIgOo2Fde0K+WoNox6Me6X/CkdkJQUrVfMdAEgZc9vtL3vA0n/iN 6GvVR+X8Uwm6K62ZKYLcn0A62M6lbLuecThjhhw0wa8MKBj7Voog/zUeSFeO+8T3Y79V a/Ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=gpeQZT8iwBFHptKTR55ZKGfY1y2TCjNqhowu5Qs47KQ=; b=kLSmBRIaDje+cfNf6xuGtQTXXHoRnq0apy58rcSM+asN4cqndEs0tGL4hB5aRfmg44 bRwQQkRXRvOeIF92czdwLA5sVbiydkazmuV2U2Bv2qE188vYpwyCl1/ov3jvRFCQ4hBE n9vghQvzMLHYMmsZ5/O+ouia/gB2Zv+g/SGZ+czC6WVh8FxCaefnzTTj7A+hJDMVkpHI pARbUJAo0QZTklZd+Ljht7KfCqFYouDZCYaZTVj0+1nN+LjTOpG5WXTGa/pJARCS/tFW LFAWkc+yVn29MFo56vOSbbpXgTfS9nvoNzCXcCNK0457NWOp+2ww1q+HFPSzc/2SGdoI wFsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=veRK8b0J; 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 n32si12777862pgm.439.2019.01.07.08.02.16; Mon, 07 Jan 2019 08:02:32 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=veRK8b0J; 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 S1728118AbfAGMoo (ORCPT + 99 others); Mon, 7 Jan 2019 07:44:44 -0500 Received: from mail.kernel.org ([198.145.29.99]:33292 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728619AbfAGMoh (ORCPT ); Mon, 7 Jan 2019 07:44:37 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6CF392183E; Mon, 7 Jan 2019 12:44:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1546865076; bh=sLEx8j76DN9SmWyySaGDrwbfaBczPNa+3+G3sheYEtY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=veRK8b0Jcq0XKw8vhtLOyHvURLPA0Nz5Ahoi6UY7rfuq+AwuosKb2eeSv6qIAB4AZ Y9DGkA+a/Wiuy694x+k1lZY3tPhsSwFsiemzIRPdyy33U7jbFoFvDc/Ws3rzw14srY U4IZ96J6egw7YZhWJGHE7ZoQl/u5mtYCmtWB2TlQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Christoffer Dall , Marc Zyngier Subject: [PATCH 4.20 132/145] arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 PPIs/SGIs Date: Mon, 7 Jan 2019 13:32:49 +0100 Message-Id: <20190107104454.473750055@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190107104437.308206189@linuxfoundation.org> References: <20190107104437.308206189@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.20-stable review patch. If anyone has any objections, please let me know. ------------------ From: Marc Zyngier commit 107352a24900fb458152b92a4e72fbdc83fd5510 upstream. We currently only halt the guest when a vCPU messes with the active state of an SPI. This is perfectly fine for GICv2, but isn't enough for GICv3, where all vCPUs can access the state of any other vCPU. Let's broaden the condition to include any GICv3 interrupt that has an active state (i.e. all but LPIs). Cc: stable@vger.kernel.org Reviewed-by: Christoffer Dall Signed-off-by: Marc Zyngier Signed-off-by: Greg Kroah-Hartman --- virt/kvm/arm/vgic/vgic-mmio.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/virt/kvm/arm/vgic/vgic-mmio.c +++ b/virt/kvm/arm/vgic/vgic-mmio.c @@ -368,14 +368,16 @@ static void vgic_mmio_change_active(stru */ static void vgic_change_active_prepare(struct kvm_vcpu *vcpu, u32 intid) { - if (intid > VGIC_NR_PRIVATE_IRQS) + if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3 || + intid > VGIC_NR_PRIVATE_IRQS) kvm_arm_halt_guest(vcpu->kvm); } /* See vgic_change_active_prepare */ static void vgic_change_active_finish(struct kvm_vcpu *vcpu, u32 intid) { - if (intid > VGIC_NR_PRIVATE_IRQS) + if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3 || + intid > VGIC_NR_PRIVATE_IRQS) kvm_arm_resume_guest(vcpu->kvm); }