From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:33270 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751930AbdFLIUF (ORCPT ); Mon, 12 Jun 2017 04:20:05 -0400 Date: Mon, 12 Jun 2017 10:19:58 +0200 From: Greg KH To: Marc Zyngier Cc: cdall@linaro.org, stable@vger.kernel.org, stable-commits@vger.kernel.org Subject: Re: Patch "KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt" has been added to the 4.9-stable tree Message-ID: <20170612081958.GB28437@kroah.com> References: <14955509086618@kroah.com> <20170524070845.GC5785@kroah.com> <7d0151d3-71f4-5b8b-d782-054d848785ed@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7d0151d3-71f4-5b8b-d782-054d848785ed@arm.com> Sender: stable-owner@vger.kernel.org List-ID: On Wed, May 24, 2017 at 08:54:58AM +0100, Marc Zyngier wrote: > On 24/05/17 08:08, Greg KH wrote: > > On Tue, May 23, 2017 at 04:48:28PM +0200, gregkh@linuxfoundation.org wrote: > >> > >> This is a note to let you know that I've just added the patch titled > >> > >> KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt > >> > >> to the 4.9-stable tree which can be found at: > >> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > >> > >> The filename of the patch is: > >> kvm-arm-arm64-vgic-v3-do-not-use-active-pending-state-for-a-hw-interrupt.patch > >> and it can be found in the queue-4.9 subdirectory. > >> > >> If you, or anyone else, feels it should not be added to the stable tree, > >> please let know about it. > >> > >> > >> >From 3d6e77ad1489650afa20da92bb589c8778baa8da Mon Sep 17 00:00:00 2001 > >> From: Marc Zyngier > >> Date: Tue, 2 May 2017 14:30:40 +0100 > >> Subject: KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt > >> > >> From: Marc Zyngier > >> > >> commit 3d6e77ad1489650afa20da92bb589c8778baa8da upstream. > >> > >> When an interrupt is injected with the HW bit set (indicating that > >> deactivation should be propagated to the physical distributor), > >> special care must be taken so that we never mark the corresponding > >> LR with the Active+Pending state (as the pending state is kept in > >> the physycal distributor). > >> > >> Fixes: 59529f69f504 ("KVM: arm/arm64: vgic-new: Add GICv3 world switch backend") > >> Signed-off-by: Marc Zyngier > >> Reviewed-by: Christoffer Dall > >> Signed-off-by: Christoffer Dall > >> Signed-off-by: Greg Kroah-Hartman > >> > >> --- > >> virt/kvm/arm/vgic/vgic-v3.c | 7 +++++++ > >> 1 file changed, 7 insertions(+) > >> > >> --- a/virt/kvm/arm/vgic/vgic-v3.c > >> +++ b/virt/kvm/arm/vgic/vgic-v3.c > >> @@ -151,6 +151,13 @@ void vgic_v3_populate_lr(struct kvm_vcpu > >> if (irq->hw) { > >> val |= ICH_LR_HW; > >> val |= ((u64)irq->hwintid) << ICH_LR_PHYS_ID_SHIFT; > >> + /* > >> + * Never set pending+active on a HW interrupt, as the > >> + * pending state is kept at the physical distributor > >> + * level. > >> + */ > >> + if (irq->active && irq_is_pending(irq)) > > > > irq_is_pending() isn't in 4.9, so can someone please send me a proper > > backported patch? I've dropped this from the tree now as it causes a > > build breakage. > > Here's the amended patch: Thanks, now applied. greg k-h