From: Dan Carpenter <dan.carpenter@oracle.com>
To: jeeja.kp@intel.com
Cc: alsa-devel@alsa-project.org
Subject: [bug report] ASoC: hdac_hdmi: Add support for multiple ports to a PCM
Date: Wed, 22 Feb 2017 22:07:58 +0300 [thread overview]
Message-ID: <20170222185651.GA14103@mwanda> (raw)
Hello Jeeja KP,
The patch e0e5d3e5a53b: "ASoC: hdac_hdmi: Add support for multiple
ports to a PCM" from Feb 7, 2017, leads to the following static
checker warning:
sound/soc/codecs/hdac_hdmi.c:2011 hdac_hdmi_dev_remove()
error: potential NULL dereference 'port'.
sound/soc/codecs/hdac_hdmi.c
1995 static int hdac_hdmi_dev_remove(struct hdac_ext_device *edev)
1996 {
1997 struct hdac_hdmi_priv *hdmi = edev->private_data;
1998 struct hdac_hdmi_pin *pin, *pin_next;
1999 struct hdac_hdmi_cvt *cvt, *cvt_next;
2000 struct hdac_hdmi_pcm *pcm, *pcm_next;
2001 struct hdac_hdmi_port *port;
2002 int i;
2003
2004 snd_soc_unregister_codec(&edev->hdac.dev);
2005
2006 list_for_each_entry_safe(pcm, pcm_next, &hdmi->pcm_list, head) {
2007 pcm->cvt = NULL;
2008 if (list_empty(&pcm->port_list))
2009 continue;
2010
2011 list_for_each_entry(port, &pcm->port_list, head)
2012 port = NULL;
It's not clear to me what this loop is supposed to do. To me it looks
like it will Oops every single time without fail.
2013
2014 list_del(&pcm->head);
2015 kfree(pcm);
2016 }
2017
2018 list_for_each_entry_safe(cvt, cvt_next, &hdmi->cvt_list, head) {
2019 list_del(&cvt->head);
2020 kfree(cvt->name);
2021 kfree(cvt);
2022 }
2023
2024 list_for_each_entry_safe(pin, pin_next, &hdmi->pin_list, head) {
2025 for (i = 0; i < pin->num_ports; i++)
2026 pin->ports[i].pin = NULL;
2027 kfree(pin->ports);
2028 list_del(&pin->head);
2029 kfree(pin);
2030 }
2031
2032 return 0;
2033 }
regards,
dan carpenter
reply other threads:[~2017-02-22 19:08 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20170222185651.GA14103@mwanda \
--to=dan.carpenter@oracle.com \
--cc=alsa-devel@alsa-project.org \
--cc=jeeja.kp@intel.com \
/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 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.