format files of trace_kprobe don't shows signs, it is
different from all other format files, incorrect API to user.
Signed-off-by: Lai Jiangshan <[email protected]>
---
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index e3c80e9..3ef66d4 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -1163,10 +1163,11 @@ static int __probe_event_show_format(struct trace_seq *s,
#undef SHOW_FIELD
#define SHOW_FIELD(type, item, name) \
do { \
- ret = trace_seq_printf(s, "\tfield: " #type " %s;\t" \
- "offset:%u;\tsize:%u;\n", name, \
+ ret = trace_seq_printf(s, "\tfield:" #type " %s;\t" \
+ "offset:%u;\tsize:%u;\tsigned:%d;\n", name,\
(unsigned int)offsetof(typeof(field), item),\
- (unsigned int)sizeof(type)); \
+ (unsigned int)sizeof(type), \
+ is_signed_type(type)); \
if (!ret) \
return 0; \
} while (0)
Lai Jiangshan wrote:
>
> format files of trace_kprobe don't shows signs, it is
> different from all other format files, incorrect API to user.
>
> Signed-off-by: Lai Jiangshan<[email protected]>
Thanks Lai!
Acked-by: Masami Hiramatsu <[email protected]>
> ---
> diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
> index e3c80e9..3ef66d4 100644
> --- a/kernel/trace/trace_kprobe.c
> +++ b/kernel/trace/trace_kprobe.c
> @@ -1163,10 +1163,11 @@ static int __probe_event_show_format(struct trace_seq *s,
> #undef SHOW_FIELD
> #define SHOW_FIELD(type, item, name) \
> do { \
> - ret = trace_seq_printf(s, "\tfield: " #type " %s;\t" \
> - "offset:%u;\tsize:%u;\n", name, \
> + ret = trace_seq_printf(s, "\tfield:" #type " %s;\t" \
> + "offset:%u;\tsize:%u;\tsigned:%d;\n", name,\
> (unsigned int)offsetof(typeof(field), item),\
> - (unsigned int)sizeof(type)); \
> + (unsigned int)sizeof(type), \
> + is_signed_type(type)); \
> if (!ret) \
> return 0; \
> } while (0)
>
>
>
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division
e-mail: [email protected]