From fd51a7d8b5b1c710c3b59e877bc35b2739dcc350 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Fri, 15 Aug 2025 10:42:39 +0100 Subject: [PATCH] pidfd-util: force alignment of file_handle union to avoid assert on 32bit On 32bit the union won't be aligned automatically, needs to be enforced: Assertion '((uintptr_t) _p) % alignof(uint64_t) == 0' failed at src/basic/pidfd-util.c:251, function pidfd_get_inode_id_impl(). Aborting. Follow-up for 9c039ef5ff7f683aa9f7a36cb39bac94a12964b2 --- src/basic/pidfd-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/pidfd-util.c b/src/basic/pidfd-util.c index 965f0b86da..328ed70d52 100644 --- a/src/basic/pidfd-util.c +++ b/src/basic/pidfd-util.c @@ -239,7 +239,7 @@ int pidfd_get_inode_id_impl(int fd, uint64_t *ret) { union { struct file_handle file_handle; uint8_t space[offsetof(struct file_handle, f_handle) + sizeof(uint64_t)]; - } fh = { + } _alignas_(uint64_t) fh = { .file_handle.handle_bytes = sizeof(uint64_t), .file_handle.handle_type = FILEID_KERNFS, };