[PATCH] kbuffer: fix endianness flags for big-endian host
Bastien Curutchet <[email protected]> Tue, 04 Nov 2025 09:45:00 +0100
| Newsgroups | org.kernel.vger.linux-trace-devel |
|---|---|
| Message-ID | <[email protected]> |
When KBUFFER_ENDIAN_SAME_AS_HOST is set on a big-endian host, the KBUFFER_FL_BIG_ENDIAN flag is added to the local flags variable instead of the kbuf->flags. Since the local flags variable has already been copied to kbuf->flags at that time, the KBUFFER_FL_BIG_ENDIAN flag is lost when we leave the function. Add KBUFFER_FL_BIG_ENDIAN to the kbuf->flags when KBUFFER_ENDIAN_SAME_AS_HOST is used on a big-endian host. Signed-off-by: Bastien Curutchet <[email protected]> Fixes: 5f2aa8497c5b ("libtraceevent kbuffer: Add SAME_AS_HOST for endian and size") --- src/kbuffer-parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kbuffer-parse.c b/src/kbuffer-parse.c index 71291adf0860b8392e6cfa0b0640c6472def422c..232d1688934a946e19f52886c2d25e4c73637b4c 100644 --- a/src/kbuffer-parse.c +++ b/src/kbuffer-parse.c @@ -247,7 +247,7 @@ kbuffer_alloc(enum kbuffer_long_size size, enum kbuffer_endian endian) if (host_is_bigendian()) { if (endian == KBUFFER_ENDIAN_SAME_AS_HOST) - flags |= KBUFFER_FL_BIG_ENDIAN; + kbuf->flags |= KBUFFER_FL_BIG_ENDIAN; kbuf->flags |= KBUFFER_FL_HOST_BIG_ENDIAN; } --- base-commit: b3f5849527ae226b88342ef80fc42c66ab206f99 change-id: 20251028-fix-parse-7395a8571b72 Best regards, -- Bastien Curutchet <[email protected]>