projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: endianness of integers received by filter
[lttng-modules.git]
/
probes
/
lttng-tracepoint-event-impl.h
diff --git
a/probes/lttng-tracepoint-event-impl.h
b/probes/lttng-tracepoint-event-impl.h
index a87d146af23e701349f5fa259f4fe0b823ae2168..ba906ac49c01fa46b34bf8e8d4a87570ab3b3a9e 100644
(file)
--- a/
probes/lttng-tracepoint-event-impl.h
+++ b/
probes/lttng-tracepoint-event-impl.h
@@
-23,6
+23,7
@@
#include <linux/debugfs.h>
#include <linux/rculist.h>
#include <asm/byteorder.h>
#include <linux/debugfs.h>
#include <linux/rculist.h>
#include <asm/byteorder.h>
+#include <linux/swab.h>
#include <probes/lttng.h>
#include <probes/lttng-types.h>
#include <probes/lttng.h>
#include <probes/lttng-types.h>
@@
-457,18
+458,24
@@
static inline size_t __event_get_size__##_name(size_t *__dynamic_len, \
case 2: \
{ \
union { _type t; int16_t v; } __tmp = { (_type) (_src) }; \
case 2: \
{ \
union { _type t; int16_t v; } __tmp = { (_type) (_src) }; \
+ if (_byte_order != __BYTE_ORDER) \
+ __swab16s(&__tmp.v); \
__ctf_tmp_int64 = (int64_t) __tmp.v; \
break; \
} \
case 4: \
{ \
union { _type t; int32_t v; } __tmp = { (_type) (_src) }; \
__ctf_tmp_int64 = (int64_t) __tmp.v; \
break; \
} \
case 4: \
{ \
union { _type t; int32_t v; } __tmp = { (_type) (_src) }; \
+ if (_byte_order != __BYTE_ORDER) \
+ __swab32s(&__tmp.v); \
__ctf_tmp_int64 = (int64_t) __tmp.v; \
break; \
} \
case 8: \
{ \
union { _type t; int64_t v; } __tmp = { (_type) (_src) }; \
__ctf_tmp_int64 = (int64_t) __tmp.v; \
break; \
} \
case 8: \
{ \
union { _type t; int64_t v; } __tmp = { (_type) (_src) }; \
+ if (_byte_order != __BYTE_ORDER) \
+ __swab64s(&__tmp.v); \
__ctf_tmp_int64 = (int64_t) __tmp.v; \
break; \
} \
__ctf_tmp_int64 = (int64_t) __tmp.v; \
break; \
} \
@@
-488,18
+495,24
@@
static inline size_t __event_get_size__##_name(size_t *__dynamic_len, \
case 2: \
{ \
union { _type t; uint16_t v; } __tmp = { (_type) (_src) }; \
case 2: \
{ \
union { _type t; uint16_t v; } __tmp = { (_type) (_src) }; \
+ if (_byte_order != __BYTE_ORDER) \
+ __swab16s(&__tmp.v); \
__ctf_tmp_uint64 = (uint64_t) __tmp.v; \
break; \
} \
case 4: \
{ \
union { _type t; uint32_t v; } __tmp = { (_type) (_src) }; \
__ctf_tmp_uint64 = (uint64_t) __tmp.v; \
break; \
} \
case 4: \
{ \
union { _type t; uint32_t v; } __tmp = { (_type) (_src) }; \
+ if (_byte_order != __BYTE_ORDER) \
+ __swab32s(&__tmp.v); \
__ctf_tmp_uint64 = (uint64_t) __tmp.v; \
break; \
} \
case 8: \
{ \
union { _type t; uint64_t v; } __tmp = { (_type) (_src) }; \
__ctf_tmp_uint64 = (uint64_t) __tmp.v; \
break; \
} \
case 8: \
{ \
union { _type t; uint64_t v; } __tmp = { (_type) (_src) }; \
+ if (_byte_order != __BYTE_ORDER) \
+ __swab64s(&__tmp.v); \
__ctf_tmp_uint64 = (uint64_t) __tmp.v; \
break; \
} \
__ctf_tmp_uint64 = (uint64_t) __tmp.v; \
break; \
} \
This page took
0.023682 seconds
and
4
git commands to generate.