From 7e10f209fbc26a5179a4c0817c986e7c7bd327c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Wed, 25 Dec 2013 13:33:46 +0200 Subject: fix struct signalfd_siginfo ssi_ptr is really 64-bit in kernel, so fix that. assuming sizeof(void*) for it also caused incorrect padding for 32-bits, as the following 64-bits are aligned to 64-bits (and the padding was not taken into account), so fix the padding as well. add addr_lsb field while there. --- include/sys/signalfd.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/sys/signalfd.h b/include/sys/signalfd.h index 4f3d3999..55431b91 100644 --- a/include/sys/signalfd.h +++ b/include/sys/signalfd.h @@ -30,11 +30,12 @@ struct signalfd_siginfo { uint32_t ssi_trapno; int32_t ssi_status; int32_t ssi_int; - uintptr_t ssi_ptr; + uint64_t ssi_ptr; uint64_t ssi_utime; uint64_t ssi_stime; uint64_t ssi_addr; - uint8_t pad[128-12*4-sizeof(void *)-3*8]; + uint16_t ssi_addr_lsb; + uint8_t pad[128-12*4-4*8-2]; }; #ifdef __cplusplus -- cgit v1.2.1