At 2026-02-03 00:08:28, "Steven Rostedt" <[email protected]> wrote:
>On Mon, 2 Feb 2026 10:38:04 -0500
>Steven Rostedt <[email protected]> wrote:
>
>> Can you try this patch to see if it fixes the issue for you?
>
>Ignore that patch, try this one instead. This was fixed for trace_events a
>while ago, but the same fix wasn't done for ftrace events.
>
>-- Steve
>
>diff --git a/kernel/trace/trace_export.c b/kernel/trace/trace_export.c
>index 1698fc22afa0..5b96ac750049 100644
>--- a/kernel/trace/trace_export.c
>+++ b/kernel/trace/trace_export.c
>@@ -14,6 +14,9 @@
> 
> #include "trace_output.h"
> 
>+/* The alignment of a type when in a structure */
>+#define ALIGN_STRUCTFIELD(type) ((int)(__alignof__(struct {type b;})))
>+
> /* Stub function for events with triggers */
> static int ftrace_event_register(struct trace_event_call *call,
>                                enum trace_reg type, void *data)
>@@ -88,7 +91,7 @@ static void __always_unused ____ftrace_check_##name(void)    
>        \
> #undef __field_ext
> #define __field_ext(_type, _item, _filter_type) {                     \
>       .type = #_type, .name = #_item,                                 \
>-      .size = sizeof(_type), .align = __alignof__(_type),             \
>+      .size = sizeof(_type), .align = ALIGN_STRUCTFIELD(_type),       \
>       is_signed_type(_type), .filter_type = _filter_type },
> 
On the 32-bit ARM platform, when _type is unsigned long long, the resulting 
align value is 8 instead of the expected 4.
> 

Reply via email to