Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4543326ybz; Tue, 28 Apr 2020 13:17:23 -0700 (PDT) X-Google-Smtp-Source: APiQypKxOCcPEiofRW2kVMzF0P0CEqYdOElIxiEhTDHR8HNr0YYxsX6bpup+AdFiJQ1bCzLXYNiq X-Received: by 2002:a05:6402:1543:: with SMTP id p3mr25279396edx.333.1588105042835; Tue, 28 Apr 2020 13:17:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588105042; cv=none; d=google.com; s=arc-20160816; b=pG2+qvcHMfIrY1g7DtyrHWbksvq/VHpsA++fLn7v+gq0il16QodR5v89JpeTsXf6Ht gNwezPj1d4sAdCf5FKQPXbkQpVWxmol4axgOoG2pfkET/fZ5vGg+hQrZCmwazVCklE0y JQix/7M4LL9JWFPqGf9QPe5lg1XBu989o36U6n4sGaJHz4CV3U+HW/6OEdn5XDzyyMpT 6RM3P9KZpBKHFBSAnHpbJ4uHAFn777/gq4tVClXM50x6oGq+QIZioJEE7eT1phRH/ynz HbBgblwy5W2tkiTPns+uYbD0K7m1ssSzUgrVQbVPp7mpXWxtkxeICMtQPAZ+9j8N6rXa JHyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=WWFojbuK0qhsPQMVbI8MQh7c5qOUGuk5Wy7VjrhQrpY=; b=CXRxyNge4DYTL44We4xIPjOzRurDUGDJQo3WPFIyR6HvHPzOuRT2VcTa3S5MG1LlXH JaiqcOQf6cd2HF6jZuTTSMhXOSmMZDHOlZwtYtui+tmsXJH9DrYh0hhXMPfL2/6qFvkj mnuLbm/WZr2W9Ro5jlIUHkK+yI0FmM0/c55oU210ze8n1V0evzfXyjADjQB3lMlDAjk4 jWsfS7bkpv6Lw0uifPW+XAQ1glQeUQ56IyLLnFPlXXVtzZFHZWbP5nuZuUxEto/Y757P OktsBXKXvdFgzK4ovXjPfV3ydHC317ksu2lx0Mlaj+9t2mB2zQev7UHco0vorb7SmoWa XVpQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q28si2159439edb.547.2020.04.28.13.16.57; Tue, 28 Apr 2020 13:17:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726490AbgD1UNe (ORCPT + 99 others); Tue, 28 Apr 2020 16:13:34 -0400 Received: from smtp12.smtpout.orange.fr ([80.12.242.134]:37938 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726279AbgD1UNd (ORCPT ); Tue, 28 Apr 2020 16:13:33 -0400 Received: from [192.168.1.41] ([92.148.159.11]) by mwinf5d23 with ME id YLDV220080F2omL03LDVBg; Tue, 28 Apr 2020 22:13:31 +0200 X-ME-Helo: [192.168.1.41] X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Tue, 28 Apr 2020 22:13:31 +0200 X-ME-IP: 92.148.159.11 Subject: Re: [PATCH] firmware: stratix10-svc: Fix some error handling paths in 'stratix10_svc_drv_probe()' To: Dan Carpenter Cc: richard.gong@linux.intel.com, gregkh@linuxfoundation.org, atull@kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org References: <20200426190307.40840-1-christophe.jaillet@wanadoo.fr> <20200428115510.GA2014@kadam> From: Christophe JAILLET Message-ID: Date: Tue, 28 Apr 2020 22:13:28 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200428115510.GA2014@kadam> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 28/04/2020 à 13:55, Dan Carpenter a écrit : > On Sun, Apr 26, 2020 at 09:03:07PM +0200, Christophe JAILLET wrote: >> If an error occurs after calling 'kfifo_alloc()', the allocated memory >> should be freed with 'kfifo_free()', as already done in the remove >> function. >> >> Fixes: b5dc75c915cd ("firmware: stratix10-svc: extend svc to support new RSU features") >> Signed-off-by: Christophe JAILLET >> --- >> drivers/firmware/stratix10-svc.c | 15 +++++++++++---- >> 1 file changed, 11 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/firmware/stratix10-svc.c b/drivers/firmware/stratix10-svc.c >> index d5f0769f3761..cc9df9589195 100644 >> --- a/drivers/firmware/stratix10-svc.c >> +++ b/drivers/firmware/stratix10-svc.c >> @@ -1043,24 +1043,31 @@ static int stratix10_svc_drv_probe(struct platform_device *pdev) >> >> /* add svc client device(s) */ >> svc = devm_kzalloc(dev, sizeof(*svc), GFP_KERNEL); >> - if (!svc) >> - return -ENOMEM; >> + if (!svc) { >> + ret = -ENOMEM; >> + goto err_free_kfifo; >> + } >> >> svc->stratix10_svc_rsu = platform_device_alloc(STRATIX10_RSU, 0); >> if (!svc->stratix10_svc_rsu) { >> dev_err(dev, "failed to allocate %s device\n", STRATIX10_RSU); >> - return -ENOMEM; >> + ret = -ENOMEM; >> + goto err_free_kfifo; >> } >> >> ret = platform_device_add(svc->stratix10_svc_rsu); >> if (ret) { >> platform_device_put(svc->stratix10_svc_rsu); > Why not move this to the unwind code as well and do "goto put_platform;"? Sure, I'll send a V2. CJ > regards, > dan carpenter > >> - return ret; >> + goto err_free_kfifo; >> } >> dev_set_drvdata(dev, svc); >> >> pr_info("Intel Service Layer Driver Initialized\n"); >> >> + return 0; >> + >> +err_free_kfifo: >> + kfifo_free(&controller->svc_fifo); >> return ret; >> } >