Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753080AbbLNOGm (ORCPT ); Mon, 14 Dec 2015 09:06:42 -0500 Received: from mail.osadl.at ([92.243.35.153]:48474 "EHLO mail.osadl.at" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752501AbbLNOGk (ORCPT ); Mon, 14 Dec 2015 09:06:40 -0500 X-Greylist: delayed 518 seconds by postgrey-1.27 at vger.kernel.org; Mon, 14 Dec 2015 09:06:40 EST Date: Mon, 14 Dec 2015 13:57:29 +0000 From: Nicholas Mc Guire To: Nicholas Mc Guire Cc: Michael Turquette , Stephen Boyd , Geert Uytterhoeven , Sebastian Hesselbarth , Heiko Stuebner , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] clk: unchecked return of kmalloc_array Message-ID: <20151214135729.GA22301@osadl.at> References: <1450099015-23148-1-git-send-email-hofrat@osadl.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1450099015-23148-1-git-send-email-hofrat@osadl.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1522 Lines: 43 On Mon, Dec 14, 2015 at 02:16:55PM +0100, Nicholas Mc Guire wrote: > kmalloc_array return is unchecked - given how parent_names is being treated > in case of allocation error it probably is ok to treat clock->parents the > same way and simply return. > > problem was located with coccinelle > > Signed-off-by: Nicholas Mc Guire > --- > > patch was compile tested for shmobile_defconfig > (implies CONFIG_ARCH_SHMOBILE_MULTI=y) > > patch is against linux-next (localversion-next -next-20151214) > > drivers/clk/shmobile/clk-div6.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/clk/shmobile/clk-div6.c b/drivers/clk/shmobile/clk-div6.c > index b4c8d67..e6b7533 100644 > --- a/drivers/clk/shmobile/clk-div6.c > +++ b/drivers/clk/shmobile/clk-div6.c > @@ -196,6 +196,8 @@ static void __init cpg_div6_clock_init(struct device_node *np) > > clock->parents = kmalloc_array(num_parents, sizeof(*clock->parents), > GFP_KERNEL); > + if (!clock->parents) > + return; > parent_names = kmalloc_array(num_parents, sizeof(*parent_names), > giving the callchain of kmalloc_array a look I guess there should be some memset for parent_names and clock->parents - or is there a reason why no memset would be needed here ? thx! hofrat -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/