[116/151] tracing: Fix event format export

From: Greg KH
Date: Wed Dec 16 2009 - 23:19:58 EST


2.6.32-stable review patch. If anyone has any objections, please let us know.

------------------

From: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>

commit 811cb50baf63461ce0bdb234927046131fc7fa8b upstream.

For some reason the export of the event print format to userspace
uses '#fmt' which breaks if the format string is anything but a plain
string, for example if it is built with macros then the macro names
are exported instead of their contents.

Use
"\"%s\"", fmt
instead of
"%s", #fmt
to export the string and not the way it is built.

For example, in net/mac80211/driver-trace.h for the trace event drv_start
there is:

TP_printk(
LOCAL_PR_FMT, LOCAL_PR_ARG
)

Which use to produce:

print fmt: LOCAL_PR_FMT, REC->wiphy_name

Now produces:

print fmt: "%s", REC->wiphy_name

Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
LKML-Reference: <20091113224009.GB23942@xxxxxxx>
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

---
include/trace/ftrace.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/include/trace/ftrace.h
+++ b/include/trace/ftrace.h
@@ -159,7 +159,7 @@
#undef __get_str

#undef TP_printk
-#define TP_printk(fmt, args...) "%s, %s\n", #fmt, __stringify(args)
+#define TP_printk(fmt, args...) "\"%s\", %s\n", fmt, __stringify(args)

#undef TP_fast_assign
#define TP_fast_assign(args...) args


--
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/