Re: [PATCH 3/3] kobject: fix warnings use pr_* to replace printk

From: Joe Perches
Date: Wed Oct 31 2018 - 12:48:31 EST


On Wed, 2018-10-31 at 09:41 -0400, YU Bo wrote:
> Hi,
> On Tue, Oct 30, 2018 at 08:01:50AM -0700, Joe Perches wrote:
> > On Tue, 2018-10-30 at 08:01 -0400, Bo YU wrote:
> > > Fix warning from checkpatch.pl use pr_* to replace printk
> >
> > If you look at msg, it can be unterminated with newline.
> >
> > > diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
> > []
> > > @@ -224,7 +224,7 @@ int kobject_synth_uevent(struct kobject *kobj, const char *buf, size_t count)
> > > out:
> > > if (r) {
> > > devpath = kobject_get_path(kobj, GFP_KERNEL);
> > > - printk(KERN_WARNING "synth uevent: %s: %s",
> > > + pr_warn("synth uevent: %s: %s",
> > > devpath ?: "unknown device",
> > > msg ?: "failed to send uevent");
> > > kfree(devpath);
> >
> > Perhaps this block should be:
> >
> > diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
> > index 63d0816ab23b..0ba1197f366e 100644
> > --- a/lib/kobject_uevent.c
> > +++ b/lib/kobject_uevent.c
> > @@ -195,12 +195,12 @@ int kobject_synth_uevent(struct kobject *kobj, const char *buf, size_t count)
> > enum kobject_action action;
> > const char *action_args;
> > struct kobj_uevent_env *env;
> > - const char *msg = NULL, *devpath;
> > + const char *msg = NULL;
> > int r;
> >
> > r = kobject_action_type(buf, count, &action, &action_args);
> > if (r) {
> > - msg = "unknown uevent action string\n";
> > + msg = "unknown uevent action string";
> > goto out;
> > }
> >
> > @@ -212,7 +212,7 @@ int kobject_synth_uevent(struct kobject *kobj, const char *buf, size_t count)
> > r = kobject_action_args(action_args,
> > count - (action_args - buf), &env);
> > if (r == -EINVAL) {
> > - msg = "incorrect uevent action arguments\n";
> > + msg = "incorrect uevent action arguments";
> > goto out;
> > }
> >
> > @@ -223,10 +223,11 @@ int kobject_synth_uevent(struct kobject *kobj, const char *buf, size_t count)
> > kfree(env);
> > out:
> > if (r) {
> > - devpath = kobject_get_path(kobj, GFP_KERNEL);
> > - printk(KERN_WARNING "synth uevent: %s: %s",
> > - devpath ?: "unknown device",
> > - msg ?: "failed to send uevent");
> > + char *devpath devpath = kobject_get_path(kobj, GFP_KERNEL);
> > +
> > + pr_warn("synth uevent: %s: %s\n",
> > + devpath ?: "unknown device",
> > + msg ?: "failed to send uevent");
> > kfree(devpath);
> > }
> > return r;
> Sorry, but i have two stupid questions to annoy you:
> Q1: If i agree with your patch, here should i to do? Acked-by tag or others or nothing to do?

Send V2 with content and explanation of what
it does and why.

> Q2: In fact, i do not know how to test the patch. Only to cat /sys/bus/pci/* or something?

That wouldn't work as these go to dmesg only on
certain conditions.

It's a trivial patch, obviously correct.