All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrice Chotard <patrice.chotard@st.com>
To: kernel-janitors@vger.kernel.org
Subject: Re: pinctrl: abx500: fix abx500_gpio_dbg_show_one() to show pull up/down
Date: Fri, 01 Aug 2014 07:40:44 +0000	[thread overview]
Message-ID: <53DB447C.9030001@st.com> (raw)

Hi Dan

On 07/31/2014 12:54 PM, Dan Carpenter wrote:
> [ This is not very new, sorry.  -dan ]

Yes, sorry for that :-(
A fix has just been submitted to Linus Walleij.

Thanks

Patrice
>
> Hello Patrice Chotard,
>
> This is a semi-automatic email about new static checker warnings.
>
> The patch d2752ae54d4a: "pinctrl: abx500: fix
> abx500_gpio_dbg_show_one() to show pull up/down" from May 24, 2013,
> leads to the following Smatch complaint:
>
> drivers/pinctrl/nomadik/pinctrl-abx500.c:623 abx500_gpio_dbg_show_one()
> 	 warn: variable dereferenced before check 'pctldev' (see line 573)
>
> drivers/pinctrl/nomadik/pinctrl-abx500.c
>     572	{
>     573		struct abx500_pinctrl *pct = pinctrl_dev_get_drvdata(pctldev);
>                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Patch adds a new unchecked dereference.
>
>     574		const char *label = gpiochip_is_requested(chip, offset - 1);
>     575		u8 gpio_offset = offset - 1;
>     576		int mode = -1;
>     577		bool is_out;
>     578		bool pd;
>     579		enum abx500_gpio_pull_updown pud = 0;
>     580		int ret;
>     581	
>     582		const char *modes[] = {
>     583			[ABX500_DEFAULT]	= "default",
>     584			[ABX500_ALT_A]		= "altA",
>     585			[ABX500_ALT_B]		= "altB",
>     586			[ABX500_ALT_C]		= "altC",
>     587		};
>     588	
>     589		const char *pull_up_down[] = {
>     590			[ABX500_GPIO_PULL_DOWN]		= "pull down",
>     591			[ABX500_GPIO_PULL_NONE]		= "pull none",
>     592			[ABX500_GPIO_PULL_NONE + 1]	= "pull none",
>     593			[ABX500_GPIO_PULL_UP]		= "pull up",
>     594		};
>     595	
>     596		ret = abx500_gpio_get_bit(chip, AB8500_GPIO_DIR1_REG,
>     597				gpio_offset, &is_out);
>     598		if (ret < 0)
>     599			goto out;
>     600	
>     601		seq_printf(s, " gpio-%-3d (%-20.20s) %-3s",
>     602			   gpio, label ?: "(none)",
>     603			   is_out ? "out" : "in ");
>     604	
>     605		if (!is_out) {
>     606			if (abx500_pullud_supported(chip, offset)) {
>     607				ret = abx500_get_pull_updown(pct, offset, &pud);
>     608				if (ret < 0)
>     609					goto out;
>     610	
>     611				seq_printf(s, " %-9s", pull_up_down[pud]);
>     612			} else {
>     613				ret = abx500_gpio_get_bit(chip, AB8500_GPIO_PUD1_REG,
>     614						gpio_offset, &pd);
>     615				if (ret < 0)
>     616					goto out;
>     617	
>     618				seq_printf(s, " %-9s", pull_up_down[pd]);
>     619			}
>     620		} else
>     621			seq_printf(s, " %-9s", chip->get(chip, offset) ? "hi" : "lo");
>     622	
>     623		if (pctldev)
>                      ^^^^^^^
> The existing code assumes "pctldev" can be NULL.
>
>     624			mode = abx500_get_mode(pctldev, chip, offset);
>     625	
>
> regards,
> dan carpenter


             reply	other threads:[~2014-08-01  7:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-01  7:40 Patrice Chotard [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-07-31 10:54 pinctrl: abx500: fix abx500_gpio_dbg_show_one() to show pull up/down Dan Carpenter
2013-11-08 10:06 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=53DB447C.9030001@st.com \
    --to=patrice.chotard@st.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 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.