From mboxrd@z Thu Jan 1 00:00:00 1970 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=-17.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 4BA88C63777 for ; Thu, 19 Nov 2020 23:44:56 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BF76822227 for ; Thu, 19 Nov 2020 23:44:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="jPxP5yu6" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BF76822227 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.31461.61841 (Exim 4.92) (envelope-from ) id 1kftbR-0003EL-4k; Thu, 19 Nov 2020 23:44:37 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 31461.61841; Thu, 19 Nov 2020 23:44:37 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kftbR-0003EE-1h; Thu, 19 Nov 2020 23:44:37 +0000 Received: by outflank-mailman (input) for mailman id 31461; Thu, 19 Nov 2020 23:44:35 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kftbP-0003E9-Gw for xen-devel@lists.xenproject.org; Thu, 19 Nov 2020 23:44:35 +0000 Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id d05e92b6-e411-4dea-9e7a-23ead6b593c9; Thu, 19 Nov 2020 23:44:34 +0000 (UTC) Received: from sstabellini-ThinkPad-T480s (c-24-130-65-46.hsd1.ca.comcast.net [24.130.65.46]) (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 B1E8422227; Thu, 19 Nov 2020 23:44:32 +0000 (UTC) Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kftbP-0003E9-Gw for xen-devel@lists.xenproject.org; Thu, 19 Nov 2020 23:44:35 +0000 X-Inumbo-ID: d05e92b6-e411-4dea-9e7a-23ead6b593c9 Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id d05e92b6-e411-4dea-9e7a-23ead6b593c9; Thu, 19 Nov 2020 23:44:34 +0000 (UTC) Received: from sstabellini-ThinkPad-T480s (c-24-130-65-46.hsd1.ca.comcast.net [24.130.65.46]) (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 B1E8422227; Thu, 19 Nov 2020 23:44:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1605829473; bh=J+rHZlNXQ50MPLCu9PF3eq71Es79PZVFv2lVUS6TJ9w=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=jPxP5yu6049nF6ofeLzSBHuqsHgbxkcaDUvfOOwqyBAnUqvj5JRRyVwO3q3ahpsDw TBGjjzOAIL/V+Wje8fUxFUn7rcPVSt1V0PEWVLXDDV6Yecy4o9KTJUYCFpGgP+90l4 h+jo30K6VMHBLrjdY49Bpvuc62IjX/7pyBzEwjAg= Date: Thu, 19 Nov 2020 15:44:31 -0800 (PST) From: Stefano Stabellini X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s To: Julien Grall cc: xen-devel@lists.xenproject.org, Julien Grall , Stefano Stabellini , Volodymyr Babchuk , Jan Beulich , Andrew Cooper , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Wei Liu Subject: Re: [PATCH] xen/irq: Propagate the error from init_one_desc_irq() in init_irq_data() In-Reply-To: <20201119145434.28065-1-julien@xen.org> Message-ID: References: <20201119145434.28065-1-julien@xen.org> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII On Thu, 19 Nov 2020, Julien Grall wrote: > From: Julien Grall > > init_one_desc_irq() can return an error if it is unable to allocate > memory. While this is unlikely to happen during boot (called from > init_irq_data()), it is better to harden the code by propagting the > return value. > > Spotted by coverity. > > CID: 106529 > > Signed-off-by: Julien Grall Hi Julien, Thanks for the patch. I was about to commit it when I realized there is one more caller: xen/arch/arm/irq.c:init_local_irq_data Should we change that too to check for the return error? > --- > xen/arch/arm/irq.c | 7 ++++++- > xen/arch/x86/irq.c | 7 ++++++- > 2 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c > index 3877657a5277..279d221a2b85 100644 > --- a/xen/arch/arm/irq.c > +++ b/xen/arch/arm/irq.c > @@ -88,7 +88,12 @@ static int __init init_irq_data(void) > for ( irq = NR_LOCAL_IRQS; irq < NR_IRQS; irq++ ) > { > struct irq_desc *desc = irq_to_desc(irq); > - init_one_irq_desc(desc); > + int rc; > + > + rc = init_one_irq_desc(desc); > + if ( rc ) > + return rc; > + > desc->irq = irq; > desc->action = NULL; > } > diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c > index 45966947919e..3ebd684415ac 100644 > --- a/xen/arch/x86/irq.c > +++ b/xen/arch/x86/irq.c > @@ -428,9 +428,14 @@ int __init init_irq_data(void) > > for ( irq = 0; irq < nr_irqs_gsi; irq++ ) > { > + int rc; > + > desc = irq_to_desc(irq); > desc->irq = irq; > - init_one_irq_desc(desc); > + > + rc = init_one_irq_desc(desc); > + if ( rc ) > + return rc; > } > for ( ; irq < nr_irqs; irq++ ) > irq_to_desc(irq)->irq = irq; > -- > 2.17.1 >