remote_event_format_show() doesn't take into account each field's
alignment leading to an incorrect reporting of the actual field offset.
Use the existing field->align.

Fixes: 072529158e60 ("tracing: Add events to trace remotes")
Reported-by: Fuad Tabba <[email protected]>
Signed-off-by: Vincent Donnefort <[email protected]>
---
 kernel/trace/trace_remote.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/trace/trace_remote.c b/kernel/trace/trace_remote.c
index 2d5bc423efca..7e35f48ae467 100644
--- a/kernel/trace/trace_remote.c
+++ b/kernel/trace/trace_remote.c
@@ -1098,6 +1098,7 @@ static int remote_event_format_show(struct seq_file *s, 
void *unused)
 
        field = &evt->fields[0];
        while (field->name) {
+               offset = ALIGN(offset, field->align);
                seq_printf(s, "\tfield:%s 
%s;\toffset:%zu;\tsize:%u;\tsigned:%d;\n",
                           field->type, field->name, offset, field->size,
                           field->is_signed);

base-commit: a90ee4305c4a5df72c11b31dacfdc76e00fcf78a
-- 
2.56.0.385.gd3acb90ef8-goog


Reply via email to