From patchwork Mon Sep 13 15:44:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandru Elisei X-Patchwork-Id: 12489761 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0422C433FE for ; Mon, 13 Sep 2021 15:43:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7D8CB610A2 for ; Mon, 13 Sep 2021 15:43:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244927AbhIMPoi (ORCPT ); Mon, 13 Sep 2021 11:44:38 -0400 Received: from foss.arm.com ([217.140.110.172]:33180 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245662AbhIMPoI (ORCPT ); Mon, 13 Sep 2021 11:44:08 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 05350101E; Mon, 13 Sep 2021 08:42:53 -0700 (PDT) Received: from monolith.cable.virginm.net (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 000643F719; Mon, 13 Sep 2021 08:42:51 -0700 (PDT) From: Alexandru Elisei To: will@kernel.org, julien.thierry.kdev@gmail.com, kvm@vger.kernel.org Cc: andre.przywara@arm.com, jean-philippe@linaro.org Subject: [PATCH v1 kvmtool 1/7] arm/gicv2m: Set errno when gicv2_update_routing() fails Date: Mon, 13 Sep 2021 16:44:07 +0100 Message-Id: <20210913154413.14322-2-alexandru.elisei@arm.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210913154413.14322-1-alexandru.elisei@arm.com> References: <20210913154413.14322-1-alexandru.elisei@arm.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org In case of an error when updating the routing table entries, irq__update_msix_route() uses perror to print an error message. gicv2m_update_routing() doesn't set errno, and instead returns the value that errno should have had, which can lead to failure messages like this: KVM_SET_GSI_ROUTING: Success Set errno in gicv2m_update_routing() to avoid such messages in the future. Signed-off-by: Alexandru Elisei Reviewed-by: Andre Przywara --- arm/gicv2m.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arm/gicv2m.c b/arm/gicv2m.c index d7e6398..b47ada8 100644 --- a/arm/gicv2m.c +++ b/arm/gicv2m.c @@ -42,16 +42,18 @@ static int gicv2m_update_routing(struct kvm *kvm, { int spi; - if (entry->type != KVM_IRQ_ROUTING_MSI) - return -EINVAL; + if (entry->type != KVM_IRQ_ROUTING_MSI) { + errno = EINVAL; + return -errno; + } if (!entry->u.msi.address_hi && !entry->u.msi.address_lo) return 0; spi = entry->u.msi.data & GICV2M_SPI_MASK; if (spi < v2m.first_spi || spi >= v2m.first_spi + v2m.num_spis) { - pr_err("invalid SPI number %d", spi); - return -EINVAL; + errno = EINVAL; + return -errno; } v2m.spis[spi - v2m.first_spi] = entry->gsi;