From a3eb0e99d32aadb7126fc898ede6dd748bbbc050 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Fri, 25 Jul 2025 15:16:22 +0100 Subject: [PATCH] cgroup-util: enforce alignment of f_handle The change in 4d2e61211df7244fae6aaeb8cae0916b4a0e78bd broke armv7 where uintptr_t is 4 bytes: /* test_id */ Assertion '((uintptr_t) _p) % alignof(uint64_t) == 0' failed at src/basic/cgroup-util.c:108, function cg_get_cgroupid_at(). Aborting. (gdb) p (uintptr_t)fh.file_handle.f_handle % _Alignof(uint64_t) $9 = 4 Enforce that the structure is aligned as expected Follow-up for 4d2e61211df7244fae6aaeb8cae0916b4a0e78bd --- src/basic/cgroup-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 0184cbffbec..0dc13bc958c 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -38,7 +38,7 @@ typedef union { struct file_handle file_handle; uint8_t space[offsetof(struct file_handle, f_handle) + sizeof(uint64_t)]; -} cg_file_handle; +} _alignas_(uint64_t) cg_file_handle; #define CG_FILE_HANDLE_INIT \ (cg_file_handle) { \ -- 2.47.3