Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp8748692ybl; Wed, 25 Dec 2019 05:32:37 -0800 (PST) X-Google-Smtp-Source: APXvYqwVC1ZDIqtXi8PO1Cyg++eTRLRTom1UMA9QKauV7SGkn4aOsIoQPI1lL3VMjNPnwrpsQX9s X-Received: by 2002:a9d:7dc9:: with SMTP id k9mr44651308otn.117.1577280757044; Wed, 25 Dec 2019 05:32:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577280757; cv=none; d=google.com; s=arc-20160816; b=AmS55znHdBMP1c5yRlebaKS2UVY1C4/qT5sXsDPalGrBEH2cm3nMZbCG1oqe2oHv6i H6gtNLbwXnzBE9uqbvnTXPhXpC6qClBanGXd+OZIIsrpxj6ANbeRJG9dA6xt8McWTE+H qRmn/ylDnnZN9OLdgf1RuojDnCxcA+/zKeKNtO9N4vWMHL6prANAVH39v4bfyHmvlw+m sWkNrqtNQWzFupXgSwkzZTDHza7Q7XyZoW+dju5xayi28TWQNRilRhfokfLVP6BXymTZ jve7SvymBlfBkroHNq8oy48Plvr4PqhcBk6ypORclj7+0wrnCzZz61eRl1Eg0CmVaWR5 TvCQ== 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 :message-id:date:subject:cc:to:from; bh=kINRaG7xxONBhyzgfA8NZQlxa2dNfwRuOkcVyzgqlWI=; b=Jsn+PJy5CLXmwbVv3kEgTQNCWfAokr8FpssH50jJb16giKSnOCNnIdxeV+dg4Ge9db cGqrTk/GRVmqkg6NoVXFiO/TxWzgH6U2iM71JFMs1zrgTdW4r9ZlFUc5hsqJCF1cbYdc mIJudemp/tyteSPORztNmJhpXZ9PZdujce1sQfgwJKQJC4iaHEdr2kyLMf7LJqRheDaF HND/NDu/viY0JYV5D1ZcGYRblR1unpoXJVscAp3qPkXY2R9E2yD637dDkC3NPKJ3cQ9v TRxG7w5mq/IkmiwWHDqCSDqQ/mjbihrGai+0aamndp8sAV+OU96dlCJHxMOnA6MFGI11 G6eA== 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 k7si11536883oib.115.2019.12.25.05.32.23; Wed, 25 Dec 2019 05:32:37 -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; 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 S1726410AbfLYNag (ORCPT + 99 others); Wed, 25 Dec 2019 08:30:36 -0500 Received: from szxga07-in.huawei.com ([45.249.212.35]:52154 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726185AbfLYNag (ORCPT ); Wed, 25 Dec 2019 08:30:36 -0500 Received: from DGGEMS404-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id AE21732CC7E7C3A84FA6; Wed, 25 Dec 2019 21:30:33 +0800 (CST) Received: from DESKTOP-8RFUVS3.china.huawei.com (10.173.222.27) by DGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP Server id 14.3.439.0; Wed, 25 Dec 2019 21:30:23 +0800 From: Zenghui Yu To: CC: , , , , , , Zenghui Yu Subject: [PATCH] KVM: arm/arm64: vgic-its: Check hopefully the last DISCARD command error Date: Wed, 25 Dec 2019 21:30:14 +0800 Message-ID: <20191225133014.1825-1-yuzenghui@huawei.com> X-Mailer: git-send-email 2.23.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.173.222.27] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DISCARD command error occurs if any of the following apply: - [ ... (those which we have already handled) ] - The EventID for the device is mapped to a collection that has not been mapped to an RDbase using MAPC. Let's take the unmapped collection case into account and report a DISCARD command error if it really happens. Signed-off-by: Zenghui Yu --- virt/kvm/arm/vgic/vgic-its.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c index 17920d1b350a..d53d34a33e35 100644 --- a/virt/kvm/arm/vgic/vgic-its.c +++ b/virt/kvm/arm/vgic/vgic-its.c @@ -839,9 +839,8 @@ static int vgic_its_cmd_handle_discard(struct kvm *kvm, struct vgic_its *its, u32 event_id = its_cmd_get_id(its_cmd); struct its_ite *ite; - ite = find_ite(its, device_id, event_id); - if (ite && ite->collection) { + if (ite && its_is_collection_mapped(ite->collection)) { /* * Though the spec talks about removing the pending state, we * don't bother here since we clear the ITTE anyway and the -- 2.19.1