hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/include/uapi/linux/rseq.h
....@@ -105,23 +105,11 @@
105105 * Read and set by the kernel. Set by user-space with single-copy
106106 * atomicity semantics. This field should only be updated by the
107107 * thread which registered this data structure. Aligned on 64-bit.
108
+ *
109
+ * 32-bit architectures should update the low order bits of the
110
+ * rseq_cs field, leaving the high order bits initialized to 0.
108111 */
109
- union {
110
- __u64 ptr64;
111
-#ifdef __LP64__
112
- __u64 ptr;
113
-#else
114
- struct {
115
-#if (defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)) || defined(__BIG_ENDIAN)
116
- __u32 padding; /* Initialized to zero. */
117
- __u32 ptr32;
118
-#else /* LITTLE */
119
- __u32 ptr32;
120
- __u32 padding; /* Initialized to zero. */
121
-#endif /* ENDIAN */
122
- } ptr;
123
-#endif
124
- } rseq_cs;
112
+ __u64 rseq_cs;
125113
126114 /*
127115 * Restartable sequences flags field.