linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] kernel/module.c: A little neatening
@ 2010-10-30 23:58 Joe Perches
  2010-10-30 23:58 ` [PATCH 1/2] kernel/module.c: Use pr_<level> and pr_fmt Joe Perches
  2010-10-30 23:58 ` [PATCH 2/2] kernel/module.c: Use pr_debug and other neatening Joe Perches
  0 siblings, 2 replies; 5+ messages in thread
From: Joe Perches @ 2010-10-30 23:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Rusty Russell

Joe Perches (2):
  kernel/module.c: Use pr_<level> and pr_fmt
  kernel/module.c: Use pr_debug and other neatening

 kernel/module.c |  305 ++++++++++++++++++++++++++-----------------------------
 1 files changed, 146 insertions(+), 159 deletions(-)

-- 
1.7.3.1.g432b3.dirty


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] kernel/module.c: Use pr_<level> and pr_fmt
  2010-10-30 23:58 [PATCH 0/2] kernel/module.c: A little neatening Joe Perches
@ 2010-10-30 23:58 ` Joe Perches
  2010-10-31  4:04   ` Arnaud Lacombe
  2010-10-30 23:58 ` [PATCH 2/2] kernel/module.c: Use pr_debug and other neatening Joe Perches
  1 sibling, 1 reply; 5+ messages in thread
From: Joe Perches @ 2010-10-30 23:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Rusty Russell

Add missing KERN_CONT to printks
Convert to pr_<level>
Add "#define pr_fmt(fmt) fmt" so pr_<level> uses are not prefixed.
Coalesce long formats for easier grep.

Signed-off-by: Joe Perches <joe@perches.com>
---
 kernel/module.c |  108 +++++++++++++++++++++++-------------------------------
 1 files changed, 46 insertions(+), 62 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 437a74a..9b6b0da 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -16,6 +16,9 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
+
+#define pr_fmt(fmt) fmt
+
 #include <linux/module.h>
 #include <linux/moduleloader.h>
 #include <linux/ftrace_event.h>
@@ -315,26 +318,18 @@ static bool find_symbol_in_section(const struct symsearch *syms,
 		if (syms->licence == GPL_ONLY)
 			return false;
 		if (syms->licence == WILL_BE_GPL_ONLY && fsa->warn) {
-			printk(KERN_WARNING "Symbol %s is being used "
-			       "by a non-GPL module, which will not "
-			       "be allowed in the future\n", fsa->name);
-			printk(KERN_WARNING "Please see the file "
-			       "Documentation/feature-removal-schedule.txt "
-			       "in the kernel source tree for more details.\n");
+			pr_warn("Symbol %s is being used by a non-GPL module, which will not be allowed in the future\n",
+				fsa->name);
+			pr_warn("Please see the file Documentation/feature-removal-schedule.txt in the kernel source tree for more details.\n");
 		}
 	}
 
 #ifdef CONFIG_UNUSED_SYMBOLS
 	if (syms->unused && fsa->warn) {
-		printk(KERN_WARNING "Symbol %s is marked as UNUSED, "
-		       "however this module is using it.\n", fsa->name);
-		printk(KERN_WARNING
-		       "This symbol will go away in the future.\n");
-		printk(KERN_WARNING
-		       "Please evalute if this is the right api to use and if "
-		       "it really is, submit a report the linux kernel "
-		       "mailinglist together with submitting your code for "
-		       "inclusion.\n");
+		pr_warn("Symbol %s is marked as UNUSED, however this module is using it.\n",
+			fsa->name);
+		pr_warn("This symbol will go away in the future.\n");
+		pr_warn("Please evalute if this is the right api to use and if it really is, submit a report to the linux kernel mailing list together with submitting your code for inclusion.\n");
 	}
 #endif
 
@@ -395,16 +390,15 @@ static int percpu_modalloc(struct module *mod,
 			   unsigned long size, unsigned long align)
 {
 	if (align > PAGE_SIZE) {
-		printk(KERN_WARNING "%s: per-cpu alignment %li > %li\n",
-		       mod->name, align, PAGE_SIZE);
+		pr_warn("%s: per-cpu alignment %li > %li\n",
+			mod->name, align, PAGE_SIZE);
 		align = PAGE_SIZE;
 	}
 
 	mod->percpu = __alloc_reserved_percpu(size, align);
 	if (!mod->percpu) {
-		printk(KERN_WARNING
-		       "%s: Could not allocate %lu bytes percpu data\n",
-		       mod->name, size);
+		pr_warn("%s: Could not allocate %lu bytes percpu data\n",
+			mod->name, size);
 		return -ENOMEM;
 	}
 	mod->percpu_size = size;
@@ -578,7 +572,7 @@ static int add_module_usage(struct module *a, struct module *b)
 	DEBUGP("Allocating new usage for %s.\n", a->name);
 	use = kmalloc(sizeof(*use), GFP_ATOMIC);
 	if (!use) {
-		printk(KERN_WARNING "%s: out of memory loading\n", a->name);
+		pr_warn("%s: out of memory loading\n", a->name);
 		return -ENOMEM;
 	}
 
@@ -947,8 +941,7 @@ static int try_to_force_load(struct module *mod, const char *reason)
 {
 #ifdef CONFIG_MODULE_FORCE_LOAD
 	if (!test_taint(TAINT_FORCED_MODULE))
-		printk(KERN_WARNING "%s: %s: kernel tainted.\n",
-		       mod->name, reason);
+		pr_warn("%s: %s: kernel tainted\n", mod->name, reason);
 	add_taint_module(mod, TAINT_FORCED_MODULE);
 	return 0;
 #else
@@ -1001,13 +994,12 @@ static int check_version(Elf_Shdr *sechdrs,
 		goto bad_version;
 	}
 
-	printk(KERN_WARNING "%s: no symbol version for %s\n",
-	       mod->name, symname);
+	pr_warn("%s: no symbol version for %s\n", mod->name, symname);
 	return 0;
 
 bad_version:
-	printk("%s: disagrees about version of symbol %s\n",
-	       mod->name, symname);
+	pr_warn("%s: disagrees about version of symbol %s\n",
+		mod->name, symname);
 	return 0;
 }
 
@@ -1110,8 +1102,8 @@ resolve_symbol_wait(struct module *mod,
 			!IS_ERR(ksym = resolve_symbol(mod, info, name, owner))
 			|| PTR_ERR(ksym) != -EBUSY,
 					     30 * HZ) <= 0) {
-		printk(KERN_WARNING "%s: gave up waiting for init of module %s.\n",
-		       mod->name, owner);
+		pr_warn("%s: gave up waiting for init of module %s\n",
+			mod->name, owner);
 	}
 	return ksym;
 }
@@ -1419,15 +1411,14 @@ static int mod_sysfs_init(struct module *mod)
 	struct kobject *kobj;
 
 	if (!module_sysfs_initialized) {
-		printk(KERN_ERR "%s: module sysfs not initialized\n",
-		       mod->name);
+		pr_err("%s: module sysfs not initialized\n", mod->name);
 		err = -EINVAL;
 		goto out;
 	}
 
 	kobj = kset_find_obj(module_kset, mod->name);
 	if (kobj) {
-		printk(KERN_ERR "%s: module is already loaded\n", mod->name);
+		pr_err("%s: module is already loaded\n", mod->name);
 		kobject_put(kobj);
 		err = -EINVAL;
 		goto out;
@@ -1623,9 +1614,7 @@ static int verify_export_symbols(struct module *mod)
 	for (i = 0; i < ARRAY_SIZE(arr); i++) {
 		for (s = arr[i].sym; s < arr[i].sym + arr[i].num; s++) {
 			if (find_symbol(s->name, &owner, NULL, true, false)) {
-				printk(KERN_ERR
-				       "%s: exports duplicate symbol %s"
-				       " (owned by %s)\n",
+				pr_err("%s: exports duplicate symbol %s (owned by %s)\n",
 				       mod->name, s->name, module_name(owner));
 				return -ENOEXEC;
 			}
@@ -1652,8 +1641,8 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
 			/* We compiled with -fno-common.  These are not
 			   supposed to happen.  */
 			DEBUGP("Common symbol: %s\n", name);
-			printk("%s: please compile with -fno-common\n",
-			       mod->name);
+			pr_info("%s: please compile with -fno-common\n",
+				mod->name);
 			ret = -ENOEXEC;
 			break;
 
@@ -1675,8 +1664,8 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
 			if (!ksym && ELF_ST_BIND(sym[i].st_info) == STB_WEAK)
 				break;
 
-			printk(KERN_WARNING "%s: Unknown symbol %s (err %li)\n",
-			       mod->name, name, PTR_ERR(ksym));
+			pr_warn("%s: Unknown symbol %s (err %li)\n",
+				mod->name, name, PTR_ERR(ksym));
 			ret = PTR_ERR(ksym) ?: -ENOENT;
 			break;
 
@@ -1808,8 +1797,8 @@ static void set_license(struct module *mod, const char *license)
 
 	if (!license_is_gpl_compatible(license)) {
 		if (!test_taint(TAINT_PROPRIETARY_MODULE))
-			printk(KERN_WARNING "%s: module license '%s' taints "
-				"kernel.\n", mod->name, license);
+			pr_warn("%s: module license '%s' taints kernel\n",
+				mod->name, license);
 		add_taint_module(mod, TAINT_PROPRIETARY_MODULE);
 	}
 }
@@ -2048,8 +2037,8 @@ static void dynamic_debug_setup(struct _ddebug *debug, unsigned int num)
 		return;
 #ifdef CONFIG_DYNAMIC_DEBUG
 	if (ddebug_add_module(debug, num, debug->modname))
-		printk(KERN_ERR "dynamic debug error adding module: %s\n",
-					debug->modname);
+		pr_err("dynamic debug error adding module: %s\n",
+		       debug->modname);
 #endif
 }
 
@@ -2163,8 +2152,7 @@ static int rewrite_section_headers(struct load_info *info)
 		Elf_Shdr *shdr = &info->sechdrs[i];
 		if (shdr->sh_type != SHT_NOBITS
 		    && info->len < shdr->sh_offset + shdr->sh_size) {
-			printk(KERN_ERR "Module len %lu truncated\n",
-			       info->len);
+			pr_err("Module len %lu truncated\n", info->len);
 			return -ENOEXEC;
 		}
 
@@ -2223,15 +2211,14 @@ static struct module *setup_load_info(struct load_info *info)
 
 	info->index.mod = find_sec(info, ".gnu.linkonce.this_module");
 	if (!info->index.mod) {
-		printk(KERN_WARNING "No module found in object\n");
+		pr_warn("No module found in object\n");
 		return ERR_PTR(-ENOEXEC);
 	}
 	/* This is temporary: point mod into copy of data. */
 	mod = (void *)info->sechdrs[info->index.mod].sh_addr;
 
 	if (info->index.sym == 0) {
-		printk(KERN_WARNING "%s: module has no symbols (stripped?)\n",
-		       mod->name);
+		pr_warn("%s: module has no symbols (stripped?)\n", mod->name);
 		return ERR_PTR(-ENOEXEC);
 	}
 
@@ -2255,16 +2242,15 @@ static int check_modinfo(struct module *mod, struct load_info *info)
 		if (err)
 			return err;
 	} else if (!same_magic(modmagic, vermagic, info->index.vers)) {
-		printk(KERN_ERR "%s: version magic '%s' should be '%s'\n",
+		pr_err("%s: version magic '%s' should be '%s'\n",
 		       mod->name, modmagic, vermagic);
 		return -ENOEXEC;
 	}
 
 	if (get_modinfo(info, "staging")) {
 		add_taint_module(mod, TAINT_CRAP);
-		printk(KERN_WARNING "%s: module is from the staging directory,"
-		       " the quality is unknown, you have been warned.\n",
-		       mod->name);
+		pr_warn("%s: module is from the staging directory, the quality is unknown, you have been warned.\n",
+			mod->name);
 	}
 
 	/* Set up license info based on the info section */
@@ -2337,8 +2323,7 @@ static void find_module_sections(struct module *mod, struct load_info *info)
 				    sizeof(*mod->extable), &mod->num_exentries);
 
 	if (section_addr(info, "__obsparm"))
-		printk(KERN_WARNING "%s: Ignoring obsolete parameters\n",
-		       mod->name);
+		pr_warn("%s: Ignoring obsolete parameters\n", mod->name);
 
 	info->debug = section_objs(info, "__verbose",
 				   sizeof(*info->debug), &info->num_debug);
@@ -2727,11 +2712,10 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
 		return ret;
 	}
 	if (ret > 0) {
-		printk(KERN_WARNING
-"%s: '%s'->init suspiciously returned %d, it should follow 0/-E convention\n"
-"%s: loading module anyway...\n",
-		       __func__, mod->name, ret,
-		       __func__);
+		pr_warn(
+"%s: '%s'->init suspiciously returned %d, it should follow 0/-E convention\n%s: loading module anyway...\n",
+			__func__, mod->name, ret,
+			__func__);
 		dump_stack();
 	}
 
@@ -3200,11 +3184,11 @@ void print_modules(void)
 	/* Most callers should already have preempt disabled, but make sure */
 	preempt_disable();
 	list_for_each_entry_rcu(mod, &modules, list)
-		printk(" %s%s", mod->name, module_flags(mod, buf));
+		pr_cont(" %s%s", mod->name, module_flags(mod, buf));
 	preempt_enable();
 	if (last_unloaded_module[0])
-		printk(" [last unloaded: %s]", last_unloaded_module);
-	printk("\n");
+		pr_cont(" [last unloaded: %s]", last_unloaded_module);
+	pr_cont("\n");
 }
 
 #ifdef CONFIG_MODVERSIONS
-- 
1.7.3.1.g432b3.dirty


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] kernel/module.c: Use pr_debug and other neatening
  2010-10-30 23:58 [PATCH 0/2] kernel/module.c: A little neatening Joe Perches
  2010-10-30 23:58 ` [PATCH 1/2] kernel/module.c: Use pr_<level> and pr_fmt Joe Perches
@ 2010-10-30 23:58 ` Joe Perches
  1 sibling, 0 replies; 5+ messages in thread
From: Joe Perches @ 2010-10-30 23:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Rusty Russell

Use <linux/foo> not <asm/foo>
Convert DEBUGP to pr_debug
Use 0x%llx and (unsigned long long)shdr->sh_addr
Remove static initializations to 0
checkpatch whitespace cleanups
Use temporary for sym[i].st_shndx
Move const after static
Hoist assigns from ifs

Signed-off-by: Joe Perches <joe@perches.com>
---
 kernel/module.c |  197 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 100 insertions(+), 97 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index 9b6b0da..d3fe6c5 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -48,9 +48,9 @@
 #include <linux/string.h>
 #include <linux/mutex.h>
 #include <linux/rculist.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
 #include <asm/cacheflush.h>
-#include <asm/mmu_context.h>
+#include <linux/mmu_context.h>
 #include <linux/license.h>
 #include <asm/sections.h>
 #include <linux/tracepoint.h>
@@ -63,12 +63,6 @@
 #define CREATE_TRACE_POINTS
 #include <trace/events/module.h>
 
-#if 0
-#define DEBUGP printk
-#else
-#define DEBUGP(fmt , a...)
-#endif
-
 #ifndef ARCH_SHF_SMALL
 #define ARCH_SHF_SMALL 0
 #endif
@@ -91,7 +85,7 @@ struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */
 
 
 /* Block module loading/unloading? */
-int modules_disabled = 0;
+int modules_disabled;
 
 /* Waiting for a module to finish initializing? */
 static DECLARE_WAIT_QUEUE_HEAD(module_wq);
@@ -100,15 +94,16 @@ static BLOCKING_NOTIFIER_HEAD(module_notify_list);
 
 /* Bounds of module allocation, for speeding __module_address.
  * Protected by module_mutex. */
-static unsigned long module_addr_min = -1UL, module_addr_max = 0;
+static unsigned long module_addr_min = -1UL;
+static unsigned long module_addr_max;
 
-int register_module_notifier(struct notifier_block * nb)
+int register_module_notifier(struct notifier_block *nb)
 {
 	return blocking_notifier_chain_register(&module_notify_list, nb);
 }
 EXPORT_SYMBOL(register_module_notifier);
 
-int unregister_module_notifier(struct notifier_block * nb)
+int unregister_module_notifier(struct notifier_block *nb)
 {
 	return blocking_notifier_chain_unregister(&module_notify_list, nb);
 }
@@ -165,8 +160,8 @@ static unsigned int find_sec(const struct load_info *info, const char *name)
 	for (i = 1; i < info->hdr->e_shnum; i++) {
 		Elf_Shdr *shdr = &info->sechdrs[i];
 		/* Alloc bit cleared means "ignore it." */
-		if ((shdr->sh_flags & SHF_ALLOC)
-		    && strcmp(info->secstrings + shdr->sh_name, name) == 0)
+		if ((shdr->sh_flags & SHF_ALLOC) &&
+		    strcmp(info->secstrings + shdr->sh_name, name) == 0)
 			return i;
 	}
 	return 0;
@@ -361,7 +356,7 @@ const struct kernel_symbol *find_symbol(const char *name,
 		return fsa.sym;
 	}
 
-	DEBUGP("Failed to find symbol %s\n", name);
+	pr_debug("Failed to find symbol %s\n", name);
 	return NULL;
 }
 EXPORT_SYMBOL_GPL(find_symbol);
@@ -489,31 +484,31 @@ bool is_module_percpu_address(unsigned long addr)
 
 #endif /* CONFIG_SMP */
 
-#define MODINFO_ATTR(field)	\
-static void setup_modinfo_##field(struct module *mod, const char *s)  \
-{                                                                     \
-	mod->field = kstrdup(s, GFP_KERNEL);                          \
-}                                                                     \
-static ssize_t show_modinfo_##field(struct module_attribute *mattr,   \
-	                struct module *mod, char *buffer)             \
-{                                                                     \
-	return sprintf(buffer, "%s\n", mod->field);                   \
-}                                                                     \
-static int modinfo_##field##_exists(struct module *mod)               \
-{                                                                     \
-	return mod->field != NULL;                                    \
-}                                                                     \
-static void free_modinfo_##field(struct module *mod)                  \
-{                                                                     \
-	kfree(mod->field);                                            \
-	mod->field = NULL;                                            \
-}                                                                     \
-static struct module_attribute modinfo_##field = {                    \
-	.attr = { .name = __stringify(field), .mode = 0444 },         \
-	.show = show_modinfo_##field,                                 \
-	.setup = setup_modinfo_##field,                               \
-	.test = modinfo_##field##_exists,                             \
-	.free = free_modinfo_##field,                                 \
+#define MODINFO_ATTR(field)						\
+static void setup_modinfo_##field(struct module *mod, const char *s)	\
+{									\
+	mod->field = kstrdup(s, GFP_KERNEL);				\
+}									\
+static ssize_t show_modinfo_##field(struct module_attribute *mattr,	\
+				    struct module *mod, char *buffer)	\
+{									\
+	return sprintf(buffer, "%s\n", mod->field);			\
+}									\
+static int modinfo_##field##_exists(struct module *mod)			\
+{									\
+	return mod->field != NULL;					\
+}									\
+static void free_modinfo_##field(struct module *mod)			\
+{									\
+	kfree(mod->field);						\
+	mod->field = NULL;						\
+}									\
+static struct module_attribute modinfo_##field = {			\
+	.attr = { .name = __stringify(field), .mode = 0444 },		\
+	.show = show_modinfo_##field,					\
+	.setup = setup_modinfo_##field,					\
+	.test = modinfo_##field##_exists,				\
+	.free = free_modinfo_##field,					\
 };
 
 MODINFO_ATTR(version);
@@ -550,11 +545,11 @@ static int already_uses(struct module *a, struct module *b)
 
 	list_for_each_entry(use, &b->source_list, source_list) {
 		if (use->source == a) {
-			DEBUGP("%s uses %s!\n", a->name, b->name);
+			pr_debug("%s uses %s!\n", a->name, b->name);
 			return 1;
 		}
 	}
-	DEBUGP("%s does not use %s!\n", a->name, b->name);
+	pr_debug("%s does not use %s!\n", a->name, b->name);
 	return 0;
 }
 
@@ -569,7 +564,7 @@ static int add_module_usage(struct module *a, struct module *b)
 {
 	struct module_use *use;
 
-	DEBUGP("Allocating new usage for %s.\n", a->name);
+	pr_debug("Allocating new usage for %s\n", a->name);
 	use = kmalloc(sizeof(*use), GFP_ATOMIC);
 	if (!use) {
 		pr_warn("%s: out of memory loading\n", a->name);
@@ -613,7 +608,7 @@ static void module_unload_free(struct module *mod)
 	mutex_lock(&module_mutex);
 	list_for_each_entry_safe(use, tmp, &mod->target_list, target_list) {
 		struct module *i = use->target;
-		DEBUGP("%s unusing %s\n", mod->name, i->name);
+		pr_debug("%s unusing %s\n", mod->name, i->name);
 		module_put(i);
 		list_del(&use->source_list);
 		list_del(&use->target_list);
@@ -639,8 +634,7 @@ static inline int try_force_unload(unsigned int flags)
 }
 #endif /* CONFIG_MODULE_FORCE_UNLOAD */
 
-struct stopref
-{
+struct stopref {
 	struct module *mod;
 	int flags;
 	int *forced;
@@ -653,7 +647,8 @@ static int __try_stop_module(void *_sref)
 
 	/* If it's not unused, quit unless we're forcing. */
 	if (module_refcount(sref->mod) != 0) {
-		if (!(*sref->forced = try_force_unload(sref->flags)))
+		*sref->forced = try_force_unload(sref->flags);
+		if (!*sref->forced)
 			return -EWOULDBLOCK;
 	}
 
@@ -711,7 +706,7 @@ static void wait_for_zero_refcount(struct module *mod)
 	/* Since we might sleep for some time, release the mutex first */
 	mutex_unlock(&module_mutex);
 	for (;;) {
-		DEBUGP("Looking at refcount...\n");
+		pr_debug("Looking at refcount...\n");
 		set_current_state(TASK_UNINTERRUPTIBLE);
 		if (module_refcount(mod) == 0)
 			break;
@@ -753,8 +748,8 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
 	/* Doing init or already dying? */
 	if (mod->state != MODULE_STATE_LIVE) {
 		/* FIXME: if (force), slam module count and wake up
-                   waiter --RR */
-		DEBUGP("%s already dying\n", mod->name);
+		 * waiter --RR */
+		pr_debug("%s already dying\n", mod->name);
 		ret = -EBUSY;
 		goto out;
 	}
@@ -807,7 +802,7 @@ static inline void print_unload_info(struct seq_file *m, struct module *mod)
 	seq_printf(m, " %u ", module_refcount(mod));
 
 	/* Always include a trailing , so userspace can differentiate
-           between this and the old multi-field proc format. */
+	 * between this and the old multi-field proc format. */
 	list_for_each_entry(use, &mod->source_list, source_list) {
 		printed_something = 1;
 		seq_printf(m, "%s,", use->source->name);
@@ -964,7 +959,7 @@ static unsigned long maybe_relocated(unsigned long crc,
 static int check_version(Elf_Shdr *sechdrs,
 			 unsigned int versindex,
 			 const char *symname,
-			 struct module *mod, 
+			 struct module *mod,
 			 const unsigned long *crc,
 			 const struct module *crc_owner)
 {
@@ -989,8 +984,8 @@ static int check_version(Elf_Shdr *sechdrs,
 
 		if (versions[i].crc == maybe_relocated(*crc, crc_owner))
 			return 1;
-		DEBUGP("Found checksum %lX vs module %lX\n",
-		       maybe_relocated(*crc, crc_owner), versions[i].crc);
+		pr_debug("Found checksum %lX vs module %lX\n",
+			 maybe_relocated(*crc, crc_owner), versions[i].crc);
 		goto bad_version;
 	}
 
@@ -1032,7 +1027,7 @@ static inline int same_magic(const char *amagic, const char *bmagic,
 static inline int check_version(Elf_Shdr *sechdrs,
 				unsigned int versindex,
 				const char *symname,
-				struct module *mod, 
+				struct module *mod,
 				const unsigned long *crc,
 				const struct module *crc_owner)
 {
@@ -1066,7 +1061,8 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod,
 
 	mutex_lock(&module_mutex);
 	sym = find_symbol(name, &owner, &crc,
-			  !(mod->taints & (1 << TAINT_PROPRIETARY_MODULE)), true);
+			  !(mod->taints & (1 << TAINT_PROPRIETARY_MODULE)),
+			  true);
 	if (!sym)
 		goto unlock;
 
@@ -1120,15 +1116,13 @@ static inline bool sect_empty(const Elf_Shdr *sect)
 	return !(sect->sh_flags & SHF_ALLOC) || sect->sh_size == 0;
 }
 
-struct module_sect_attr
-{
+struct module_sect_attr {
 	struct module_attribute mattr;
 	char *name;
 	unsigned long address;
 };
 
-struct module_sect_attrs
-{
+struct module_sect_attrs {
 	struct attribute_group grp;
 	unsigned int nsections;
 	struct module_sect_attr attrs[0];
@@ -1201,7 +1195,7 @@ static void add_sect_attrs(struct module *mod, const struct load_info *info)
 
 	mod->sect_attrs = sect_attrs;
 	return;
-  out:
+out:
 	free_sect_attrs(sect_attrs);
 }
 
@@ -1305,7 +1299,7 @@ static void add_notes_attrs(struct module *mod, const struct load_info *info)
 	mod->notes_attrs = notes_attrs;
 	return;
 
-  out:
+out:
 	free_notes_attrs(notes_attrs, i);
 }
 
@@ -1382,7 +1376,8 @@ static int module_add_modinfo_attrs(struct module *mod)
 		    (attr->test && attr->test(mod))) {
 			memcpy(temp_attr, attr, sizeof(*temp_attr));
 			sysfs_attr_init(&temp_attr->attr);
-			error = sysfs_create_file(&mod->mkobj.kobj,&temp_attr->attr);
+			error = sysfs_create_file(&mod->mkobj.kobj,
+						  &temp_attr->attr);
 			++temp_attr;
 		}
 	}
@@ -1398,7 +1393,7 @@ static void module_remove_modinfo_attrs(struct module *mod)
 		/* pick a field to test for end of list */
 		if (!attr->attr.name)
 			break;
-		sysfs_remove_file(&mod->mkobj.kobj,&attr->attr);
+		sysfs_remove_file(&mod->mkobj.kobj, &attr->attr);
 		if (attr->free)
 			attr->free(mod);
 	}
@@ -1635,12 +1630,12 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
 
 	for (i = 1; i < symsec->sh_size / sizeof(Elf_Sym); i++) {
 		const char *name = info->strtab + sym[i].st_name;
-
-		switch (sym[i].st_shndx) {
+		typeof (sym[i].st_shndx) index = sym[i].st_shndx;
+		switch (index) {
 		case SHN_COMMON:
 			/* We compiled with -fno-common.  These are not
 			   supposed to happen.  */
-			DEBUGP("Common symbol: %s\n", name);
+			pr_debug("Common symbol: %s\n", name);
 			pr_info("%s: please compile with -fno-common\n",
 				mod->name);
 			ret = -ENOEXEC;
@@ -1648,8 +1643,8 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
 
 		case SHN_ABS:
 			/* Don't need to do anything */
-			DEBUGP("Absolute symbol: 0x%08lx\n",
-			       (long)sym[i].st_value);
+			pr_debug("Absolute symbol: 0x%08lx\n",
+				 (long)sym[i].st_value);
 			break;
 
 		case SHN_UNDEF:
@@ -1671,10 +1666,10 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
 
 		default:
 			/* Divert to percpu allocation if a percpu var. */
-			if (sym[i].st_shndx == info->index.pcpu)
+			if (index == info->index.pcpu)
 				secbase = (unsigned long)mod_percpu(mod);
 			else
-				secbase = info->sechdrs[sym[i].st_shndx].sh_addr;
+				secbase = info->sechdrs[index].sh_addr;
 			sym[i].st_value += secbase;
 			break;
 		}
@@ -1738,7 +1733,7 @@ static long get_offset(struct module *mod, unsigned int *size,
    belongs in init. */
 static void layout_sections(struct module *mod, struct load_info *info)
 {
-	static unsigned long const masks[][2] = {
+	static const unsigned long masks[][2] = {
 		/* NOTE: all executable code must be the first section
 		 * in this array; otherwise modify the text_size
 		 * finder in the two loops below */
@@ -1752,7 +1747,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
 	for (i = 0; i < info->hdr->e_shnum; i++)
 		info->sechdrs[i].sh_entsize = ~0UL;
 
-	DEBUGP("Core section allocation order:\n");
+	pr_debug("Core section allocation order:\n");
 	for (m = 0; m < ARRAY_SIZE(masks); ++m) {
 		for (i = 0; i < info->hdr->e_shnum; ++i) {
 			Elf_Shdr *s = &info->sechdrs[i];
@@ -1764,13 +1759,13 @@ static void layout_sections(struct module *mod, struct load_info *info)
 			    || strstarts(sname, ".init"))
 				continue;
 			s->sh_entsize = get_offset(mod, &mod->core_size, s, i);
-			DEBUGP("\t%s\n", name);
+			pr_debug("\t%s\n", sname);
 		}
 		if (m == 0)
 			mod->core_text_size = mod->core_size;
 	}
 
-	DEBUGP("Init section allocation order:\n");
+	pr_debug("Init section allocation order:\n");
 	for (m = 0; m < ARRAY_SIZE(masks); ++m) {
 		for (i = 0; i < info->hdr->e_shnum; ++i) {
 			Elf_Shdr *s = &info->sechdrs[i];
@@ -1783,7 +1778,7 @@ static void layout_sections(struct module *mod, struct load_info *info)
 				continue;
 			s->sh_entsize = (get_offset(mod, &mod->init_size, s, i)
 					 | INIT_OFFSET_MASK);
-			DEBUGP("\t%s\n", sname);
+			pr_debug("\t%s\n", sname);
 		}
 		if (m == 0)
 			mod->init_text_size = mod->init_size;
@@ -1925,7 +1920,7 @@ static char elf_type(const Elf_Sym *sym, const struct load_info *info)
 }
 
 static bool is_core_symbol(const Elf_Sym *src, const Elf_Shdr *sechdrs,
-                           unsigned int shnum)
+			   unsigned int shnum)
 {
 	const Elf_Shdr *sec;
 
@@ -1956,7 +1951,7 @@ static void layout_symtab(struct module *mod, struct load_info *info)
 	symsect->sh_flags |= SHF_ALLOC;
 	symsect->sh_entsize = get_offset(mod, &mod->init_size, symsect,
 					 info->index.sym) | INIT_OFFSET_MASK;
-	DEBUGP("\t%s\n", info->secstrings + symsect->sh_name);
+	pr_debug("\t%s\n", info->secstrings + symsect->sh_name);
 
 	src = (void *)info->hdr + symsect->sh_offset;
 	nsrc = symsect->sh_size / sizeof(*src);
@@ -1978,7 +1973,7 @@ static void layout_symtab(struct module *mod, struct load_info *info)
 	strsect->sh_flags |= SHF_ALLOC;
 	strsect->sh_entsize = get_offset(mod, &mod->init_size, strsect,
 					 info->index.str) | INIT_OFFSET_MASK;
-	DEBUGP("\t%s\n", info->secstrings + strsect->sh_name);
+	pr_debug("\t%s\n", info->secstrings + strsect->sh_name);
 
 	/* Append room for core symbols' strings at end of core part. */
 	info->stroffs = mod->core_size;
@@ -2364,7 +2359,7 @@ static int move_module(struct module *mod, struct load_info *info)
 	mod->module_init = ptr;
 
 	/* Transfer each section which specifies SHF_ALLOC */
-	DEBUGP("final section addresses:\n");
+	pr_debug("final section addresses:\n");
 	for (i = 0; i < info->hdr->e_shnum; i++) {
 		void *dest;
 		Elf_Shdr *shdr = &info->sechdrs[i];
@@ -2382,8 +2377,9 @@ static int move_module(struct module *mod, struct load_info *info)
 			memcpy(dest, (void *)shdr->sh_addr, shdr->sh_size);
 		/* Update sh_addr to point to copy in image. */
 		shdr->sh_addr = (unsigned long)dest;
-		DEBUGP("\t0x%lx %s\n",
-		       shdr->sh_addr, info->secstrings + shdr->sh_name);
+		pr_debug("\t0x%llx %s\n",
+			 (unsigned long long)shdr->sh_addr,
+			 info->secstrings + shdr->sh_name);
 	}
 
 	return 0;
@@ -2478,8 +2474,9 @@ static struct module *layout_and_allocate(struct load_info *info)
 	   special cases for the architectures. */
 	layout_sections(mod, info);
 
-	info->strmap = kzalloc(BITS_TO_LONGS(info->sechdrs[info->index.str].sh_size)
-			 * sizeof(long), GFP_KERNEL);
+	info->strmap =
+		kzalloc(BITS_TO_LONGS(info->sechdrs[info->index.str].sh_size)
+			* sizeof(long), GFP_KERNEL);
 	if (!info->strmap) {
 		err = -ENOMEM;
 		goto free_percpu;
@@ -2539,8 +2536,7 @@ static struct module *load_module(void __user *umod,
 	struct module *mod;
 	long err;
 
-	DEBUGP("load_module: umod=%p, len=%lu, uargs=%p\n",
-	       umod, len, uargs);
+	pr_debug("load_module: umod=%p, len=%lu, uargs=%p\n", umod, len, uargs);
 
 	/* Copy in the blobs from userspace, check they are vaguely sane. */
 	err = copy_and_check(&info, umod, len, uargs);
@@ -2700,8 +2696,8 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
 	if (mod->init != NULL)
 		ret = do_one_initcall(mod->init);
 	if (ret < 0) {
-		/* Init routine failed: abort.  Try to protect us from
-                   buggy refcounters. */
+		/* Init routine failed: abort.
+		 * Try to protect us from buggy refcounters. */
 		mod->state = MODULE_STATE_GOING;
 		synchronize_sched();
 		module_put(mod);
@@ -2725,7 +2721,8 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
 	blocking_notifier_call_chain(&module_notify_list,
 				     MODULE_STATE_LIVE, mod);
 
-	/* We need to finish all async code before the module init sequence is done */
+	/* We need to finish all async code before the module init sequence
+	 * is done */
 	async_synchronize_full();
 
 	mutex_lock(&module_mutex);
@@ -2787,12 +2784,14 @@ static const char *get_ksymbol(struct module *mod,
 		if (mod->symtab[i].st_value <= addr
 		    && mod->symtab[i].st_value > mod->symtab[best].st_value
 		    && *(mod->strtab + mod->symtab[i].st_name) != '\0'
-		    && !is_arm_mapping_symbol(mod->strtab + mod->symtab[i].st_name))
+		    && !is_arm_mapping_symbol(mod->strtab +
+					      mod->symtab[i].st_name))
 			best = i;
 		if (mod->symtab[i].st_value > addr
 		    && mod->symtab[i].st_value < nextval
 		    && *(mod->strtab + mod->symtab[i].st_name) != '\0'
-		    && !is_arm_mapping_symbol(mod->strtab + mod->symtab[i].st_name))
+		    && !is_arm_mapping_symbol(mod->strtab +
+					      mod->symtab[i].st_name))
 			nextval = mod->symtab[i].st_value;
 	}
 
@@ -2929,15 +2928,19 @@ unsigned long module_kallsyms_lookup_name(const char *name)
 
 	/* Don't lock: we're in enough trouble already. */
 	preempt_disable();
-	if ((colon = strchr(name, ':')) != NULL) {
+	colon = strchr(name, ':');
+	if (colon != NULL) {
 		*colon = '\0';
-		if ((mod = find_module(name)) != NULL)
+		mod = find_module(name);
+		if (mod != NULL)
 			ret = mod_find_symname(mod, colon+1);
 		*colon = ':';
 	} else {
-		list_for_each_entry_rcu(mod, &modules, list)
-			if ((ret = mod_find_symname(mod, name)) != 0)
+		list_for_each_entry_rcu(mod, &modules, list) {
+			ret = mod_find_symname(mod, name);
+			if (ret != 0)
 				break;
+		}
 	}
 	preempt_enable();
 	return ret;
@@ -3025,8 +3028,8 @@ static int m_show(struct seq_file *m, void *p)
 
 	/* Informative for users. */
 	seq_printf(m, " %s",
-		   mod->state == MODULE_STATE_GOING ? "Unloading":
-		   mod->state == MODULE_STATE_COMING ? "Loading":
+		   mod->state == MODULE_STATE_GOING ? "Unloading" :
+		   mod->state == MODULE_STATE_COMING ? "Loading" :
 		   "Live");
 	/* Used by oprofile and other similar tools. */
 	seq_printf(m, " 0x%p", mod->module_core);
-- 
1.7.3.1.g432b3.dirty


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] kernel/module.c: Use pr_<level> and pr_fmt
  2010-10-30 23:58 ` [PATCH 1/2] kernel/module.c: Use pr_<level> and pr_fmt Joe Perches
@ 2010-10-31  4:04   ` Arnaud Lacombe
  2010-10-31  4:20     ` Joe Perches
  0 siblings, 1 reply; 5+ messages in thread
From: Arnaud Lacombe @ 2010-10-31  4:04 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-kernel, Rusty Russell

Hi,

[not that I'm fond of getting my mailbox full of whitespace patches, but...]

On Sat, Oct 30, 2010 at 7:58 PM, Joe Perches <joe@perches.com> wrote:
> Add missing KERN_CONT to printks
> Convert to pr_<level>
> Add "#define pr_fmt(fmt) fmt" so pr_<level> uses are not prefixed.
> Coalesce long formats for easier grep.
>
... until someone submit a new patch which would move back the the
line length to 80 char because check_<foo>.pl complained or because
they read  `Documentation/CodingStyle'. That's an interresting way to
endlessly submit patches without any functional improvement.

 - Arnaud

> Signed-off-by: Joe Perches <joe@perches.com>
> ---
>  kernel/module.c |  108 +++++++++++++++++++++++-------------------------------
>  1 files changed, 46 insertions(+), 62 deletions(-)
>
> diff --git a/kernel/module.c b/kernel/module.c
> index 437a74a..9b6b0da 100644
> --- a/kernel/module.c
> +++ b/kernel/module.c
> @@ -16,6 +16,9 @@
>     along with this program; if not, write to the Free Software
>     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
>  */
> +
> +#define pr_fmt(fmt) fmt
> +
>  #include <linux/module.h>
>  #include <linux/moduleloader.h>
>  #include <linux/ftrace_event.h>
> @@ -315,26 +318,18 @@ static bool find_symbol_in_section(const struct symsearch *syms,
>                if (syms->licence == GPL_ONLY)
>                        return false;
>                if (syms->licence == WILL_BE_GPL_ONLY && fsa->warn) {
> -                       printk(KERN_WARNING "Symbol %s is being used "
> -                              "by a non-GPL module, which will not "
> -                              "be allowed in the future\n", fsa->name);
> -                       printk(KERN_WARNING "Please see the file "
> -                              "Documentation/feature-removal-schedule.txt "
> -                              "in the kernel source tree for more details.\n");
> +                       pr_warn("Symbol %s is being used by a non-GPL module, which will not be allowed in the future\n",
> +                               fsa->name);
> +                       pr_warn("Please see the file Documentation/feature-removal-schedule.txt in the kernel source tree for more details.\n");
>                }
>        }
>
>  #ifdef CONFIG_UNUSED_SYMBOLS
>        if (syms->unused && fsa->warn) {
> -               printk(KERN_WARNING "Symbol %s is marked as UNUSED, "
> -                      "however this module is using it.\n", fsa->name);
> -               printk(KERN_WARNING
> -                      "This symbol will go away in the future.\n");
> -               printk(KERN_WARNING
> -                      "Please evalute if this is the right api to use and if "
> -                      "it really is, submit a report the linux kernel "
> -                      "mailinglist together with submitting your code for "
> -                      "inclusion.\n");
> +               pr_warn("Symbol %s is marked as UNUSED, however this module is using it.\n",
> +                       fsa->name);
> +               pr_warn("This symbol will go away in the future.\n");
> +               pr_warn("Please evalute if this is the right api to use and if it really is, submit a report to the linux kernel mailing list together with submitting your code for inclusion.\n");
>        }
>  #endif
>
> @@ -395,16 +390,15 @@ static int percpu_modalloc(struct module *mod,
>                           unsigned long size, unsigned long align)
>  {
>        if (align > PAGE_SIZE) {
> -               printk(KERN_WARNING "%s: per-cpu alignment %li > %li\n",
> -                      mod->name, align, PAGE_SIZE);
> +               pr_warn("%s: per-cpu alignment %li > %li\n",
> +                       mod->name, align, PAGE_SIZE);
>                align = PAGE_SIZE;
>        }
>
>        mod->percpu = __alloc_reserved_percpu(size, align);
>        if (!mod->percpu) {
> -               printk(KERN_WARNING
> -                      "%s: Could not allocate %lu bytes percpu data\n",
> -                      mod->name, size);
> +               pr_warn("%s: Could not allocate %lu bytes percpu data\n",
> +                       mod->name, size);
>                return -ENOMEM;
>        }
>        mod->percpu_size = size;
> @@ -578,7 +572,7 @@ static int add_module_usage(struct module *a, struct module *b)
>        DEBUGP("Allocating new usage for %s.\n", a->name);
>        use = kmalloc(sizeof(*use), GFP_ATOMIC);
>        if (!use) {
> -               printk(KERN_WARNING "%s: out of memory loading\n", a->name);
> +               pr_warn("%s: out of memory loading\n", a->name);
>                return -ENOMEM;
>        }
>
> @@ -947,8 +941,7 @@ static int try_to_force_load(struct module *mod, const char *reason)
>  {
>  #ifdef CONFIG_MODULE_FORCE_LOAD
>        if (!test_taint(TAINT_FORCED_MODULE))
> -               printk(KERN_WARNING "%s: %s: kernel tainted.\n",
> -                      mod->name, reason);
> +               pr_warn("%s: %s: kernel tainted\n", mod->name, reason);
>        add_taint_module(mod, TAINT_FORCED_MODULE);
>        return 0;
>  #else
> @@ -1001,13 +994,12 @@ static int check_version(Elf_Shdr *sechdrs,
>                goto bad_version;
>        }
>
> -       printk(KERN_WARNING "%s: no symbol version for %s\n",
> -              mod->name, symname);
> +       pr_warn("%s: no symbol version for %s\n", mod->name, symname);
>        return 0;
>
>  bad_version:
> -       printk("%s: disagrees about version of symbol %s\n",
> -              mod->name, symname);
> +       pr_warn("%s: disagrees about version of symbol %s\n",
> +               mod->name, symname);
>        return 0;
>  }
>
> @@ -1110,8 +1102,8 @@ resolve_symbol_wait(struct module *mod,
>                        !IS_ERR(ksym = resolve_symbol(mod, info, name, owner))
>                        || PTR_ERR(ksym) != -EBUSY,
>                                             30 * HZ) <= 0) {
> -               printk(KERN_WARNING "%s: gave up waiting for init of module %s.\n",
> -                      mod->name, owner);
> +               pr_warn("%s: gave up waiting for init of module %s\n",
> +                       mod->name, owner);
>        }
>        return ksym;
>  }
> @@ -1419,15 +1411,14 @@ static int mod_sysfs_init(struct module *mod)
>        struct kobject *kobj;
>
>        if (!module_sysfs_initialized) {
> -               printk(KERN_ERR "%s: module sysfs not initialized\n",
> -                      mod->name);
> +               pr_err("%s: module sysfs not initialized\n", mod->name);
>                err = -EINVAL;
>                goto out;
>        }
>
>        kobj = kset_find_obj(module_kset, mod->name);
>        if (kobj) {
> -               printk(KERN_ERR "%s: module is already loaded\n", mod->name);
> +               pr_err("%s: module is already loaded\n", mod->name);
>                kobject_put(kobj);
>                err = -EINVAL;
>                goto out;
> @@ -1623,9 +1614,7 @@ static int verify_export_symbols(struct module *mod)
>        for (i = 0; i < ARRAY_SIZE(arr); i++) {
>                for (s = arr[i].sym; s < arr[i].sym + arr[i].num; s++) {
>                        if (find_symbol(s->name, &owner, NULL, true, false)) {
> -                               printk(KERN_ERR
> -                                      "%s: exports duplicate symbol %s"
> -                                      " (owned by %s)\n",
> +                               pr_err("%s: exports duplicate symbol %s (owned by %s)\n",
>                                       mod->name, s->name, module_name(owner));
>                                return -ENOEXEC;
>                        }
> @@ -1652,8 +1641,8 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
>                        /* We compiled with -fno-common.  These are not
>                           supposed to happen.  */
>                        DEBUGP("Common symbol: %s\n", name);
> -                       printk("%s: please compile with -fno-common\n",
> -                              mod->name);
> +                       pr_info("%s: please compile with -fno-common\n",
> +                               mod->name);
>                        ret = -ENOEXEC;
>                        break;
>
> @@ -1675,8 +1664,8 @@ static int simplify_symbols(struct module *mod, const struct load_info *info)
>                        if (!ksym && ELF_ST_BIND(sym[i].st_info) == STB_WEAK)
>                                break;
>
> -                       printk(KERN_WARNING "%s: Unknown symbol %s (err %li)\n",
> -                              mod->name, name, PTR_ERR(ksym));
> +                       pr_warn("%s: Unknown symbol %s (err %li)\n",
> +                               mod->name, name, PTR_ERR(ksym));
>                        ret = PTR_ERR(ksym) ?: -ENOENT;
>                        break;
>
> @@ -1808,8 +1797,8 @@ static void set_license(struct module *mod, const char *license)
>
>        if (!license_is_gpl_compatible(license)) {
>                if (!test_taint(TAINT_PROPRIETARY_MODULE))
> -                       printk(KERN_WARNING "%s: module license '%s' taints "
> -                               "kernel.\n", mod->name, license);
> +                       pr_warn("%s: module license '%s' taints kernel\n",
> +                               mod->name, license);
>                add_taint_module(mod, TAINT_PROPRIETARY_MODULE);
>        }
>  }
> @@ -2048,8 +2037,8 @@ static void dynamic_debug_setup(struct _ddebug *debug, unsigned int num)
>                return;
>  #ifdef CONFIG_DYNAMIC_DEBUG
>        if (ddebug_add_module(debug, num, debug->modname))
> -               printk(KERN_ERR "dynamic debug error adding module: %s\n",
> -                                       debug->modname);
> +               pr_err("dynamic debug error adding module: %s\n",
> +                      debug->modname);
>  #endif
>  }
>
> @@ -2163,8 +2152,7 @@ static int rewrite_section_headers(struct load_info *info)
>                Elf_Shdr *shdr = &info->sechdrs[i];
>                if (shdr->sh_type != SHT_NOBITS
>                    && info->len < shdr->sh_offset + shdr->sh_size) {
> -                       printk(KERN_ERR "Module len %lu truncated\n",
> -                              info->len);
> +                       pr_err("Module len %lu truncated\n", info->len);
>                        return -ENOEXEC;
>                }
>
> @@ -2223,15 +2211,14 @@ static struct module *setup_load_info(struct load_info *info)
>
>        info->index.mod = find_sec(info, ".gnu.linkonce.this_module");
>        if (!info->index.mod) {
> -               printk(KERN_WARNING "No module found in object\n");
> +               pr_warn("No module found in object\n");
>                return ERR_PTR(-ENOEXEC);
>        }
>        /* This is temporary: point mod into copy of data. */
>        mod = (void *)info->sechdrs[info->index.mod].sh_addr;
>
>        if (info->index.sym == 0) {
> -               printk(KERN_WARNING "%s: module has no symbols (stripped?)\n",
> -                      mod->name);
> +               pr_warn("%s: module has no symbols (stripped?)\n", mod->name);
>                return ERR_PTR(-ENOEXEC);
>        }
>
> @@ -2255,16 +2242,15 @@ static int check_modinfo(struct module *mod, struct load_info *info)
>                if (err)
>                        return err;
>        } else if (!same_magic(modmagic, vermagic, info->index.vers)) {
> -               printk(KERN_ERR "%s: version magic '%s' should be '%s'\n",
> +               pr_err("%s: version magic '%s' should be '%s'\n",
>                       mod->name, modmagic, vermagic);
>                return -ENOEXEC;
>        }
>
>        if (get_modinfo(info, "staging")) {
>                add_taint_module(mod, TAINT_CRAP);
> -               printk(KERN_WARNING "%s: module is from the staging directory,"
> -                      " the quality is unknown, you have been warned.\n",
> -                      mod->name);
> +               pr_warn("%s: module is from the staging directory, the quality is unknown, you have been warned.\n",
> +                       mod->name);
>        }
>
>        /* Set up license info based on the info section */
> @@ -2337,8 +2323,7 @@ static void find_module_sections(struct module *mod, struct load_info *info)
>                                    sizeof(*mod->extable), &mod->num_exentries);
>
>        if (section_addr(info, "__obsparm"))
> -               printk(KERN_WARNING "%s: Ignoring obsolete parameters\n",
> -                      mod->name);
> +               pr_warn("%s: Ignoring obsolete parameters\n", mod->name);
>
>        info->debug = section_objs(info, "__verbose",
>                                   sizeof(*info->debug), &info->num_debug);
> @@ -2727,11 +2712,10 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
>                return ret;
>        }
>        if (ret > 0) {
> -               printk(KERN_WARNING
> -"%s: '%s'->init suspiciously returned %d, it should follow 0/-E convention\n"
> -"%s: loading module anyway...\n",
> -                      __func__, mod->name, ret,
> -                      __func__);
> +               pr_warn(
> +"%s: '%s'->init suspiciously returned %d, it should follow 0/-E convention\n%s: loading module anyway...\n",
> +                       __func__, mod->name, ret,
> +                       __func__);
>                dump_stack();
>        }
>
> @@ -3200,11 +3184,11 @@ void print_modules(void)
>        /* Most callers should already have preempt disabled, but make sure */
>        preempt_disable();
>        list_for_each_entry_rcu(mod, &modules, list)
> -               printk(" %s%s", mod->name, module_flags(mod, buf));
> +               pr_cont(" %s%s", mod->name, module_flags(mod, buf));
>        preempt_enable();
>        if (last_unloaded_module[0])
> -               printk(" [last unloaded: %s]", last_unloaded_module);
> -       printk("\n");
> +               pr_cont(" [last unloaded: %s]", last_unloaded_module);
> +       pr_cont("\n");
>  }
>
>  #ifdef CONFIG_MODVERSIONS
> --
> 1.7.3.1.g432b3.dirty
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] kernel/module.c: Use pr_<level> and pr_fmt
  2010-10-31  4:04   ` Arnaud Lacombe
@ 2010-10-31  4:20     ` Joe Perches
  0 siblings, 0 replies; 5+ messages in thread
From: Joe Perches @ 2010-10-31  4:20 UTC (permalink / raw)
  To: Arnaud Lacombe; +Cc: linux-kernel, Rusty Russell

On Sun, 2010-10-31 at 00:04 -0400, Arnaud Lacombe wrote:
> [not that I'm fond of getting my mailbox full of whitespace patches, but...]
> On Sat, Oct 30, 2010 at 7:58 PM, Joe Perches <joe@perches.com> wrote:
> > Add missing KERN_CONT to printks
> > Convert to pr_<level>
> > Add "#define pr_fmt(fmt) fmt" so pr_<level> uses are not prefixed.
> > Coalesce long formats for easier grep.

Mostly it's a way to add #define pr_fmt(fmt) fmt
in this file so that a different default for
pr_fmt could be used in kernel.h later.

This patch was sent to lkml and not directly
to you.  As you find this stuff uninteresting I
suggest you unsubscribe and read LKML using any
of the various web services like lkml.org and
read only what you find useful.



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-10-31  4:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-30 23:58 [PATCH 0/2] kernel/module.c: A little neatening Joe Perches
2010-10-30 23:58 ` [PATCH 1/2] kernel/module.c: Use pr_<level> and pr_fmt Joe Perches
2010-10-31  4:04   ` Arnaud Lacombe
2010-10-31  4:20     ` Joe Perches
2010-10-30 23:58 ` [PATCH 2/2] kernel/module.c: Use pr_debug and other neatening Joe Perches

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).