All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] ASoC: soc-core: add snd_soc_rtdcom_xxx()
@ 2017-09-11  7:44 Dan Carpenter
  2017-09-11  8:22 ` Kuninori Morimoto
  2017-09-11  8:32 ` [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime() Kuninori Morimoto
  0 siblings, 2 replies; 6+ messages in thread
From: Dan Carpenter @ 2017-09-11  7:44 UTC (permalink / raw)
  To: kuninori.morimoto.gx; +Cc: alsa-devel

Hello Kuninori Morimoto,

This is a semi-automatic email about new static checker warnings.

The patch a0ac44115223: "ASoC: soc-core: add snd_soc_rtdcom_xxx()" 
from Aug 8, 2017, leads to the following Smatch complaint:

sound/soc/soc-core.c:644 soc_free_pcm_runtime()
	 error: we previously assumed 'rtd' could be null (see line 642)

sound/soc/soc-core.c
   641	{
   642		if (rtd && rtd->codec_dais)
                    ^^^
Check for NULL.

   643			kfree(rtd->codec_dais);
   644		snd_soc_rtdcom_del_all(rtd);
                                       ^^^
The check adds a new unchecked dereference inside the function.  It's
weird that we call INIT_LIST_HEAD(&rtd->component_list), btw.  Don't we
need to free the elements in the list?

   645		kfree(rtd);
   646	}

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [bug report] ASoC: soc-core: add snd_soc_rtdcom_xxx()
  2017-09-11  7:44 [bug report] ASoC: soc-core: add snd_soc_rtdcom_xxx() Dan Carpenter
@ 2017-09-11  8:22 ` Kuninori Morimoto
  2017-09-11  8:32 ` [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime() Kuninori Morimoto
  1 sibling, 0 replies; 6+ messages in thread
From: Kuninori Morimoto @ 2017-09-11  8:22 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: alsa-devel


Hi Dan

> sound/soc/soc-core.c:644 soc_free_pcm_runtime()
> 	 error: we previously assumed 'rtd' could be null (see line 642)
> 
> sound/soc/soc-core.c
>    641	{
>    642		if (rtd && rtd->codec_dais)
>                     ^^^
> Check for NULL.
> 
>    643			kfree(rtd->codec_dais);
>    644		snd_soc_rtdcom_del_all(rtd);
>                                        ^^^
> The check adds a new unchecked dereference inside the function.  It's
> weird that we call INIT_LIST_HEAD(&rtd->component_list), btw.  Don't we
> need to free the elements in the list?

Yes, indeed.
Thank you for your report.
I will fix it soon

Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime()
  2017-09-11  7:44 [bug report] ASoC: soc-core: add snd_soc_rtdcom_xxx() Dan Carpenter
  2017-09-11  8:22 ` Kuninori Morimoto
@ 2017-09-11  8:32 ` Kuninori Morimoto
  2017-09-14  1:08   ` [PATCH] ASoC: soc-core: fix ifnullfree.cocci warnings kbuild test robot
  2017-09-14  1:08   ` [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime() kbuild test robot
  1 sibling, 2 replies; 6+ messages in thread
From: Kuninori Morimoto @ 2017-09-11  8:32 UTC (permalink / raw)
  To: Mark Brown, Dan Carpenter; +Cc: Linux-ALSA, Simon

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

static soc_free_pcm_runtime() is never called with rtd==NULL.
This patch removes unnecessary rtd == NULL check from
soc_free_pcm_runtime().
Otherwise it logically inconsistent.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/soc-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 19f6d07..ee29d7c 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -407,7 +407,7 @@ static struct snd_soc_pcm_runtime *soc_new_pcm_runtime(
 
 static void soc_free_pcm_runtime(struct snd_soc_pcm_runtime *rtd)
 {
-	if (rtd && rtd->codec_dais)
+	if (rtd->codec_dais)
 		kfree(rtd->codec_dais);
 	snd_soc_rtdcom_del_all(rtd);
 	kfree(rtd);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime()
  2017-09-11  8:32 ` [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime() Kuninori Morimoto
  2017-09-14  1:08   ` [PATCH] ASoC: soc-core: fix ifnullfree.cocci warnings kbuild test robot
@ 2017-09-14  1:08   ` kbuild test robot
  1 sibling, 0 replies; 6+ messages in thread
From: kbuild test robot @ 2017-09-14  1:08 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Simon, Linux-ALSA, Mark Brown, kbuild-all, Dan Carpenter

Hi Kuninori,

[auto build test WARNING on asoc/for-next]
[also build test WARNING on v4.13 next-20170913]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Kuninori-Morimoto/ASoC-soc-core-remove-rtd-NULL-check-from-soc_free_pcm_runtime/20170914-072344
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next


coccinelle warnings: (new ones prefixed by >>)

>> sound/soc/soc-core.c:643:2-7: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values.

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] ASoC: soc-core: fix ifnullfree.cocci warnings
  2017-09-11  8:32 ` [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime() Kuninori Morimoto
@ 2017-09-14  1:08   ` kbuild test robot
  2017-09-14  1:17     ` Kuninori Morimoto
  2017-09-14  1:08   ` [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime() kbuild test robot
  1 sibling, 1 reply; 6+ messages in thread
From: kbuild test robot @ 2017-09-14  1:08 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Simon, Linux-ALSA, Mark Brown, kbuild-all, Dan Carpenter

sound/soc/soc-core.c:643:2-7: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values.

 NULL check before some freeing functions is not needed.

 Based on checkpatch warning
 "kfree(NULL) is safe this check is probably not required"
 and kfreeaddr.cocci by Julia Lawall.

Generated by: scripts/coccinelle/free/ifnullfree.cocci

Fixes: 7e74acb4fc31 ("ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime()")
CC: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
---

 soc-core.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -639,8 +639,7 @@ static struct snd_soc_pcm_runtime *soc_n
 
 static void soc_free_pcm_runtime(struct snd_soc_pcm_runtime *rtd)
 {
-	if (rtd->codec_dais)
-		kfree(rtd->codec_dais);
+	kfree(rtd->codec_dais);
 	snd_soc_rtdcom_del_all(rtd);
 	kfree(rtd);
 }

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ASoC: soc-core: fix ifnullfree.cocci warnings
  2017-09-14  1:08   ` [PATCH] ASoC: soc-core: fix ifnullfree.cocci warnings kbuild test robot
@ 2017-09-14  1:17     ` Kuninori Morimoto
  0 siblings, 0 replies; 6+ messages in thread
From: Kuninori Morimoto @ 2017-09-14  1:17 UTC (permalink / raw)
  To: kbuild test robot
  Cc: Simon, Linux-ALSA, Mark Brown, kbuild-all, Dan Carpenter


Hi

> sound/soc/soc-core.c:643:2-7: WARNING: NULL check before freeing functions like kfree, debugfs_remove, debugfs_remove_recursive or usb_free_urb is not needed. Maybe consider reorganizing relevant code to avoid passing NULL values.
> 
>  NULL check before some freeing functions is not needed.
> 
>  Based on checkpatch warning
>  "kfree(NULL) is safe this check is probably not required"
>  and kfreeaddr.cocci by Julia Lawall.
> 
> Generated by: scripts/coccinelle/free/ifnullfree.cocci
> 
> Fixes: 7e74acb4fc31 ("ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime()")
> CC: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
> ---

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-09-14  1:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-11  7:44 [bug report] ASoC: soc-core: add snd_soc_rtdcom_xxx() Dan Carpenter
2017-09-11  8:22 ` Kuninori Morimoto
2017-09-11  8:32 ` [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime() Kuninori Morimoto
2017-09-14  1:08   ` [PATCH] ASoC: soc-core: fix ifnullfree.cocci warnings kbuild test robot
2017-09-14  1:17     ` Kuninori Morimoto
2017-09-14  1:08   ` [PATCH] ASoC: soc-core: remove rtd NULL check from soc_free_pcm_runtime() kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.