From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: kernel-janitors@vger.kernel.org
Subject: Re: [patch] clk: shmobile: r8a7779: silence some static checker warnings
Date: Fri, 01 Aug 2014 12:51:09 +0000 [thread overview]
Message-ID: <1995244.UIfbW0RkjC@avalon> (raw)
In-Reply-To: <20140801081926.GB28869@mwanda>
Hi Dan,
On Friday 01 August 2014 11:19:26 Dan Carpenter wrote:
> It may seem like the laziest thing to leave an obvious memory leak but,
> in the long run, it's even less work to just fix it. Lots of people
> review static checker warnings so let's not waste their time.
>
> Also deliberately putting false positive static checker warnings in the
> code means that we will miss real bugs when they are introduced because
> there is too much noise and not enough signal.
I agree with your argument. However, I still feel there's a problem to
address, maybe at a bigger scale.
The kfree() calls below adds useless code to the kernel, increasing the image
size. The increase is of course small, but if we add all the occurrences of
cleanup code that will anyway lead to system crash, I believe there's room for
optimization. On the other hand, we need to make sure code validation tools
will not generate false positives, for the reason you've outlined above. Could
we find a common solution to both problems ? Is that a topic that should be
brought up on LKML ?
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/drivers/clk/shmobile/clk-rcar-gen2.c
> b/drivers/clk/shmobile/clk-rcar-gen2.c index dff7f79..cf3bf9e 100644
> --- a/drivers/clk/shmobile/clk-rcar-gen2.c
> +++ b/drivers/clk/shmobile/clk-rcar-gen2.c
> @@ -292,10 +292,8 @@ static void __init rcar_gen2_cpg_clocks_init(struct
> device_node *np) cpg = kzalloc(sizeof(*cpg), GFP_KERNEL);
> clks = kzalloc(num_clks * sizeof(*clks), GFP_KERNEL);
> if (cpg = NULL || clks = NULL) {
> - /* We're leaking memory on purpose, there's no point in cleaning
> - * up as the system won't boot anyway.
> - */
> - pr_err("%s: failed to allocate cpg\n", __func__);
> + kfree(cpg);
> + kfree(clks);
> return;
> }
>
> diff --git a/drivers/clk/shmobile/clk-r8a7740.c
> b/drivers/clk/shmobile/clk-r8a7740.c index 1e2eaae..54fb56a 100644
> --- a/drivers/clk/shmobile/clk-r8a7740.c
> +++ b/drivers/clk/shmobile/clk-r8a7740.c
> @@ -163,9 +163,8 @@ static void __init r8a7740_cpg_clocks_init(struct
> device_node *np) cpg = kzalloc(sizeof(*cpg), GFP_KERNEL);
> clks = kzalloc(num_clks * sizeof(*clks), GFP_KERNEL);
> if (cpg = NULL || clks = NULL) {
> - /* We're leaking memory on purpose, there's no point in cleaning
> - * up as the system won't boot anyway.
> - */
> + kfree(cpg);
> + kfree(clks);
> return;
> }
>
> diff --git a/drivers/clk/shmobile/clk-r8a7779.c
> b/drivers/clk/shmobile/clk-r8a7779.c index 652ecac..56e29dd 100644
> --- a/drivers/clk/shmobile/clk-r8a7779.c
> +++ b/drivers/clk/shmobile/clk-r8a7779.c
> @@ -137,9 +137,8 @@ static void __init r8a7779_cpg_clocks_init(struct
> device_node *np) cpg = kzalloc(sizeof(*cpg), GFP_KERNEL);
> clks = kzalloc(CPG_NUM_CLOCKS * sizeof(*clks), GFP_KERNEL);
> if (cpg = NULL || clks = NULL) {
> - /* We're leaking memory on purpose, there's no point in cleaning
> - * up as the system won't boot anyway.
> - */
> + kfree(cpg);
> + kfree(clks);
> return;
> }
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2014-08-01 12:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-01 8:19 [patch] clk: shmobile: r8a7779: silence some static checker warnings Dan Carpenter
2014-08-01 12:51 ` Laurent Pinchart [this message]
2014-08-01 14:32 ` Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1995244.UIfbW0RkjC@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=kernel-janitors@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox