From: Tony Lindgren <tony@atomide.com>
To: Stephen Warren <swarren@nvidia.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linus Walleij <linus.walleij@stericsson.com>,
Barry Song <21cnbao@gmail.com>,
Haojian Zhuang <haojian.zhuang@marvell.com>,
Grant Likely <grant.likely@secretlab.ca>,
Thomas Abraham <thomas.abraham@linaro.org>,
Rajendra Nayak <rajendra.nayak@linaro.org>,
Dong Aisheng <dong.aisheng@linaro.org>,
Shawn Guo <shawn.guo@freescale.com>
Subject: Re: [PATCH 3/4] pinctrl: Add checks for empty names in pinmux_search_function
Date: Fri, 20 Jan 2012 09:41:57 -0800 [thread overview]
Message-ID: <20120120174157.GQ22818@atomide.com> (raw)
In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF1780DAB384@HQMAIL01.nvidia.com>
* Stephen Warren <swarren@nvidia.com> [120120 08:28]:
> Tony Lindgren wrote at Friday, January 20, 2012 9:18 AM:
> > Otherwise we can get the following when dealing with
> > buggy data in a pinmux driver:
> >
> > Unable to handle kernel NULL pointer dereference at virtual address 00000000
>
> > diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
> > index 06b8943..ffe633d 100644
> > --- a/drivers/pinctrl/pinmux.c
> > +++ b/drivers/pinctrl/pinmux.c
> > @@ -584,6 +584,13 @@ static int pinmux_search_function(struct pinctrl_dev *pctldev,
> > selector);
> > int ret;
> >
> > + if (!fname) {
> > + pr_warning("no name for function%i\n",
> > + selector);
> > + selector++;
> > + continue;
> > + }
> > +
> > if (!strcmp(map->function, fname)) {
> > /* Found the function, check pin group */
> > ret = pinmux_check_pin_group(pctldev, selector,
>
> Shouldn't this be BUG_ON(!fname)?
>
> There are lots of other places that pmxops->get_function_name() is
> called. Wouldn't it be better to enhance e.g. pinmux_check_ops() to
> validate that all functions have a name during pinctrl registration?
Maybe yeah. I'll take a look next week when I'm back home.
Tony
next prev parent reply other threads:[~2012-01-20 17:42 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-20 16:17 [PATCH 0/4] Some pinctrl fixes for pinmux modules Tony Lindgren
2012-01-20 16:17 ` [PATCH 1/4] pinctrl: Free debugfs entries when unloading a pinmux driver Tony Lindgren
2012-01-24 21:51 ` Linus Walleij
2012-01-20 16:17 ` [PATCH 2/4] pinctrl: Fix pinmux_hog_maps when ctrl_dev_name is not set Tony Lindgren
2012-01-20 16:57 ` Stephen Warren
2012-01-20 17:39 ` Tony Lindgren
2012-01-25 0:23 ` Tony Lindgren
2012-01-25 0:47 ` Stephen Warren
2012-01-26 11:51 ` Linus Walleij
2012-01-20 16:17 ` [PATCH 3/4] pinctrl: Add checks for empty names in pinmux_search_function Tony Lindgren
2012-01-20 17:00 ` Stephen Warren
2012-01-20 17:41 ` Tony Lindgren [this message]
2012-01-25 22:08 ` Tony Lindgren
2012-01-26 13:14 ` Linus Walleij
2012-01-20 16:17 ` [PATCH 4/4] pinctrl: Fix some pinmux typos Tony Lindgren
2012-01-24 21:54 ` Linus Walleij
2012-01-24 21:55 ` [PATCH 0/4] Some pinctrl fixes for pinmux modules Linus Walleij
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=20120120174157.GQ22818@atomide.com \
--to=tony@atomide.com \
--cc=21cnbao@gmail.com \
--cc=dong.aisheng@linaro.org \
--cc=grant.likely@secretlab.ca \
--cc=haojian.zhuang@marvell.com \
--cc=linus.walleij@stericsson.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rajendra.nayak@linaro.org \
--cc=shawn.guo@freescale.com \
--cc=swarren@nvidia.com \
--cc=thomas.abraham@linaro.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.