From: Luca Boccassi Date: Fri, 25 Jul 2025 14:16:22 +0000 (+0100) Subject: cgroup-util: enforce alignment of f_handle X-Git-Tag: v258-rc2~84 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a3eb0e99d32aadb7126fc898ede6dd748bbbc050;p=thirdparty%2Fsystemd.git 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 --- 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) { \