aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/dynamic_debug.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index b199e0935053..cde4dfe2b2d5 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -75,6 +75,7 @@ static struct { unsigned flag:8; char opt_char; } opt_array[] = {
75 { _DPRINTK_FLAGS_INCL_FUNCNAME, 'f' }, 75 { _DPRINTK_FLAGS_INCL_FUNCNAME, 'f' },
76 { _DPRINTK_FLAGS_INCL_LINENO, 'l' }, 76 { _DPRINTK_FLAGS_INCL_LINENO, 'l' },
77 { _DPRINTK_FLAGS_INCL_TID, 't' }, 77 { _DPRINTK_FLAGS_INCL_TID, 't' },
78 { _DPRINTK_FLAGS_NONE, '_' },
78}; 79};
79 80
80/* format a string into buf[] which describes the _ddebug's flags */ 81/* format a string into buf[] which describes the _ddebug's flags */
@@ -84,12 +85,12 @@ static char *ddebug_describe_flags(struct _ddebug *dp, char *buf,
84 char *p = buf; 85 char *p = buf;
85 int i; 86 int i;
86 87
87 BUG_ON(maxlen < 4); 88 BUG_ON(maxlen < 6);
88 for (i = 0; i < ARRAY_SIZE(opt_array); ++i) 89 for (i = 0; i < ARRAY_SIZE(opt_array); ++i)
89 if (dp->flags & opt_array[i].flag) 90 if (dp->flags & opt_array[i].flag)
90 *p++ = opt_array[i].opt_char; 91 *p++ = opt_array[i].opt_char;
91 if (p == buf) 92 if (p == buf)
92 *p++ = '-'; 93 *p++ = '_';
93 *p = '\0'; 94 *p = '\0';
94 95
95 return buf; 96 return buf;
@@ -108,7 +109,7 @@ static void ddebug_change(const struct ddebug_query *query,
108 struct ddebug_table *dt; 109 struct ddebug_table *dt;
109 unsigned int newflags; 110 unsigned int newflags;
110 unsigned int nfound = 0; 111 unsigned int nfound = 0;
111 char flagbuf[8]; 112 char flagbuf[10];
112 113
113 /* search for matching ddebugs */ 114 /* search for matching ddebugs */
114 mutex_lock(&ddebug_lock); 115 mutex_lock(&ddebug_lock);
@@ -152,7 +153,7 @@ static void ddebug_change(const struct ddebug_query *query,
152 continue; 153 continue;
153 dp->flags = newflags; 154 dp->flags = newflags;
154 if (verbose) 155 if (verbose)
155 pr_info("changed %s:%d [%s]%s %s\n", 156 pr_info("changed %s:%d [%s]%s =%s\n",
156 dp->filename, dp->lineno, 157 dp->filename, dp->lineno,
157 dt->mod_name, dp->function, 158 dt->mod_name, dp->function,
158 ddebug_describe_flags(dp, flagbuf, 159 ddebug_describe_flags(dp, flagbuf,
@@ -370,8 +371,6 @@ static int ddebug_parse_flags(const char *str, unsigned int *flagsp,
370 if (i < 0) 371 if (i < 0)
371 return -EINVAL; 372 return -EINVAL;
372 } 373 }
373 if (flags == 0)
374 return -EINVAL;
375 if (verbose) 374 if (verbose)
376 pr_info("flags=0x%x\n", flags); 375 pr_info("flags=0x%x\n", flags);
377 376
@@ -666,7 +665,7 @@ static int ddebug_proc_show(struct seq_file *m, void *p)
666{ 665{
667 struct ddebug_iter *iter = m->private; 666 struct ddebug_iter *iter = m->private;
668 struct _ddebug *dp = p; 667 struct _ddebug *dp = p;
669 char flagsbuf[8]; 668 char flagsbuf[10];
670 669
671 if (verbose) 670 if (verbose)
672 pr_info("called m=%p p=%p\n", m, p); 671 pr_info("called m=%p p=%p\n", m, p);
@@ -677,10 +676,10 @@ static int ddebug_proc_show(struct seq_file *m, void *p)
677 return 0; 676 return 0;
678 } 677 }
679 678
680 seq_printf(m, "%s:%u [%s]%s %s \"", 679 seq_printf(m, "%s:%u [%s]%s =%s \"",
681 dp->filename, dp->lineno, 680 dp->filename, dp->lineno,
682 iter->table->mod_name, dp->function, 681 iter->table->mod_name, dp->function,
683 ddebug_describe_flags(dp, flagsbuf, sizeof(flagsbuf))); 682 ddebug_describe_flags(dp, flagsbuf, sizeof(flagsbuf)));
684 seq_escape(m, dp->format, "\t\r\n\""); 683 seq_escape(m, dp->format, "\t\r\n\"");
685 seq_puts(m, "\"\n"); 684 seq_puts(m, "\"\n");
686 685