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

From: Joe Perches
Date: Tue Oct 30 2018 - 11:01:56 EST


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;