Re: [patch] pm_qos_params: cleanup: terminate a string

From: Rafael J. Wysocki
Date: Thu Sep 09 2010 - 17:22:21 EST


On Thursday, September 09, 2010, mark gross wrote:
> On Thu, Sep 09, 2010 at 12:13:59AM +0200, Rafael J. Wysocki wrote:
> > On Tuesday, September 07, 2010, mark gross wrote:
> > > On Mon, Sep 06, 2010 at 11:22:27PM -0700, mark gross wrote:
> > > > On Fri, Sep 03, 2010 at 02:41:06PM +0200, Dan Carpenter wrote:
> > ...
> > >
> > > updated patch
> > >
> > > Signed-off-by: mark gross <markgross@xxxxxxxxxxx>
> > >
> > > --mgross
> > >
> > > Subject: [PATCH] correct some pr_debug misuse and add a stronger parrameter check to
> > > pm_qos_write for the ascii hex value case. Thanks to Dan Carpenter for
> > > pointing out the problem!
> > >
> > > ---
> > > kernel/pm_qos_params.c | 6 ++++--
> > > 1 files changed, 4 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/kernel/pm_qos_params.c b/kernel/pm_qos_params.c
> > > index f42d3f7..aae58d2 100644
> > > --- a/kernel/pm_qos_params.c
> > > +++ b/kernel/pm_qos_params.c
> > > @@ -155,7 +155,7 @@ static void update_target(int pm_qos_class)
> > > call_notifier = 1;
> > > atomic_set(&pm_qos_array[pm_qos_class]->target_value,
> > > extreme_value);
> > > - pr_debug(KERN_ERR "new target for qos %d is %d\n", pm_qos_class,
> > > + pr_debug("new target for qos %d is %d\n", pm_qos_class,
> > > atomic_read(&pm_qos_array[pm_qos_class]->target_value));
> > > }
> > > spin_unlock_irqrestore(&pm_qos_lock, flags);
> >
> > The above doesn't apply to the Linus' tree any more. Care to fix?
> >
> > Rafael
>
> no problem. (I screwed up on my fetch and forgot to merge the linus
> remote....) This bit doesn't apply post 2.6.35.
> --mgross

Thanks, applied to suspend-2.6/linux-next .

Rafael


> Signed-off-by: mark gross <markgross@xxxxxxxxxxx)
>
>
> From 64753f68e2baaef21783192566469abc54aca90d Mon Sep 17 00:00:00 2001
> From: mgross <mgross@mgross-laptop.(none)>
> Date: Wed, 8 Sep 2010 19:52:39 -0700
> Subject: [PATCH] make it harder to misuse the pm_qos user mode api.
>
> ---
> kernel/pm_qos_params.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/pm_qos_params.c b/kernel/pm_qos_params.c
> index b7e4c36..645e541 100644
> --- a/kernel/pm_qos_params.c
> +++ b/kernel/pm_qos_params.c
> @@ -389,10 +389,12 @@ static ssize_t pm_qos_power_write(struct file *filp, const char __user *buf,
> } else if (count == 11) { /* len('0x12345678/0') */
> if (copy_from_user(ascii_value, buf, 11))
> return -EFAULT;
> + if (strlen(ascii_value) != 10)
> + return -EINVAL;
> x = sscanf(ascii_value, "%x", &value);
> if (x != 1)
> return -EINVAL;
> - pr_debug(KERN_ERR "%s, %d, 0x%x\n", ascii_value, x, value);
> + pr_debug("%s, %d, 0x%x\n", ascii_value, x, value);
> } else
> return -EINVAL;
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/