From: Scott Wood <scottwood@freescale.com>
To: Wang Dongsheng-B40534 <B40534@freescale.com>
Cc: Wood Scott-B07421 <B07421@freescale.com>,
Gala Kumar-B11780 <B11780@freescale.com>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
Li Yang-R58472 <r58472@freescale.com>,
Zhao Chenhui-B35336 <B35336@freescale.com>
Subject: Re: [PATCH 3/3] powerpc/fsl: add MPIC timer wakeup support
Date: Wed, 20 Mar 2013 16:48:58 -0500 [thread overview]
Message-ID: <1363816138.25034.21@snotra> (raw)
In-Reply-To: <ABB05CD9C9F68C46A5CEDC7F15439259EB7712@039-SN2MPN1-022.039d.mgd.msft.net> (from B40534@freescale.com on Tue Mar 19 22:48:53 2013)
On 03/19/2013 10:48:53 PM, Wang Dongsheng-B40534 wrote:
>=20
>=20
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, March 20, 2013 6:55 AM
> > To: Wang Dongsheng-B40534
> > Cc: Wood Scott-B07421; Gala Kumar-B11780; =20
> linuxppc-dev@lists.ozlabs.org;
> > Zhao Chenhui-B35336; Li Yang-R58472
> > Subject: Re: [PATCH 3/3] powerpc/fsl: add MPIC timer wakeup support
> >
> > On 03/19/2013 01:25:42 AM, Wang Dongsheng-B40534 wrote:
> > > > -----Original Message-----
> > > > From: Wood Scott-B07421
> > > > Sent: Tuesday, March 19, 2013 8:31 AM
> > > > To: Wang Dongsheng-B40534
> > > > Cc: Gala Kumar-B11780; linuxppc-dev@lists.ozlabs.org; Wang
> > > Dongsheng-
> > > > B40534; Zhao Chenhui-B35336; Li Yang-R58472
> > > > Subject: Re: [PATCH 3/3] powerpc/fsl: add MPIC timer wakeup =20
> support
> > > >
> > > > On 03/08/2013 01:38:47 AM, Wang Dongsheng wrote:
> > > > > +static ssize_t fsl_timer_wakeup_store(struct device *dev,
> > > > > + struct device_attribute *attr,
> > > > > + const char *buf,
> > > > > + size_t count)
> > > > > +{
> > > > > + struct timeval interval;
> > > > > + int ret;
> > > > > +
> > > > > + interval.tv_usec =3D 0;
> > > > > + if (kstrtol(buf, 0, &interval.tv_sec))
> > > > > + return -EINVAL;
> > > >
> > > > I don't think the buffer will NUL-terminated... Ordinarily
> > > there'll be
> > > > an LF terminator, but you can't rely on that (many other sysfs
> > > attributes
> > > > seem to, though...).
> > > >
> > > I think we don't need to care about LF terminator.
> > > The kstrtol--> _kstrtoull has been done.
> >
> > My point is, what happens if userspace passes in a buffer that has =20
> no
> > terminator of any sort? kstrtol will continue reading beyond the =20
> end of
> > the buffer.
> >
> Do not care about terminator.
kstrtol() obviously *does* because it doesn't take the buffer length as =20
a parameter.
> kstrtol--> _kstrtoull--> _parse_integer
>=20
> _kstrtoull(...) {
> ...
> rv =3D _parse_integer(s, base, &_res);
> if (rv & KSTRTOX_OVERFLOW)
> return -ERANGE;
> rv &=3D ~KSTRTOX_OVERFLOW;
> if (rv =3D=3D 0)
> return -EINVAL;
> s +=3D rv;
>=20
> if (*s =3D=3D '\n')
> s++;
> if (*s)
> return -EINVAL;
> ...
> }
>=20
> _parse_integer(...) {
> ...
> while (*s) {
> if ('0' <=3D *s && *s <=3D '9')
> val =3D *s - '0';
> else if ('a' <=3D _tolower(*s) && _tolower(*s) <=3D 'f')
> val =3D _tolower(*s) - 'a' + 10;
> else
> break; //this will break out to convert.
Really? How do you know that the next byte after the buffer isn't a =20
valid hex digit? How do you even know that we won't take a fault =20
accessing it?
> > Echoing a nonzero value wouldn't just be to cancel, it would be to =20
> set a
> > new timer after cancelling the old.
> >
> If you think this way is better, I can change.
I do.
> But why should do it?
> Explicitly stop the timer (echo 0) before reuse it is more reasonable =20
> for me.
It's an unnecessary restriction, and eliminating it doesn't make =20
anything simpler.
-Scott=
next prev parent reply other threads:[~2013-03-20 21:49 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-08 7:38 [PATCH 1/3] powerpc/mpic: add irq_set_wake support Wang Dongsheng
2013-03-08 7:38 ` [PATCH 2/3] powerpc/mpic: add global timer support Wang Dongsheng
2013-03-18 23:46 ` Scott Wood
2013-03-19 7:55 ` Wang Dongsheng-B40534
2013-03-19 22:59 ` Scott Wood
2013-03-20 6:45 ` Wang Dongsheng-B40534
2013-03-20 22:59 ` Scott Wood
2013-03-22 6:14 ` Wang Dongsheng-B40534
2013-03-22 22:29 ` Scott Wood
2013-03-26 3:29 ` Wang Dongsheng-B40534
2013-03-26 17:31 ` Scott Wood
2013-03-27 3:23 ` Wang Dongsheng-B40534
2013-03-27 17:11 ` Scott Wood
2013-03-28 2:29 ` Wang Dongsheng-B40534
2013-03-28 19:47 ` Scott Wood
2013-03-29 1:58 ` Wang Dongsheng-B40534
2013-03-08 7:38 ` [PATCH 3/3] powerpc/fsl: add MPIC timer wakeup support Wang Dongsheng
2013-03-19 0:30 ` Scott Wood
2013-03-19 6:25 ` Wang Dongsheng-B40534
2013-03-19 22:54 ` Scott Wood
2013-03-20 3:48 ` Wang Dongsheng-B40534
2013-03-20 21:48 ` Scott Wood [this message]
2013-03-22 5:46 ` Wang Dongsheng-B40534
2013-03-22 22:11 ` Scott Wood
2013-03-26 3:27 ` Wang Dongsheng-B40534
2013-03-26 17:35 ` Scott Wood
2013-03-27 3:21 ` Wang Dongsheng-B40534
2013-03-27 20:25 ` Scott Wood
2013-03-28 3:09 ` Wang Dongsheng-B40534
2013-03-18 9:28 ` [PATCH 1/3] powerpc/mpic: add irq_set_wake support Wang Dongsheng-B40534
2013-03-18 14:41 ` Benjamin Herrenschmidt
2013-03-18 14:44 ` Gala Kumar-B11780
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=1363816138.25034.21@snotra \
--to=scottwood@freescale.com \
--cc=B07421@freescale.com \
--cc=B11780@freescale.com \
--cc=B35336@freescale.com \
--cc=B40534@freescale.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=r58472@freescale.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).