Sorry to be dense, but given commit c870c7a; the timespec struct will be 16 bytes in size, regardless of the arch? 32/64bit x86 and 32/64bit ARM? On Mon, Apr 22, 2019 at 2:15 PM Tharre wrote: > On 04/18, Matt Layher wrote: > > My C experience is very limited, and I have no experience working on C > > within the kernel, but is exposing a "__kernel*" type to userspace a > normal > > procedure? I would have expected to see a regular timespec from > > linux/time.h, or perhaps a timespec64 in its place. > > There is no timespec64 defined anywhere in include/linux, and it can't > be a normal timespec because of the Year 2038 problem. And despite it's > prefix, __kernel_timespec is defined in include/linux/time.h. > > > I can do some slightly more intelligent checking to fix the current issue > > with my library, but I wanted to check in and confirm that this API > contract > > is correct. > > The change from struct timespec to struct __kernel_timespec happened in > commit c870c7a[0] so I'm guessing it's intentional. > > Hope that helps. > > [0] http://git.zx2c4.com/WireGuard/commit/?id=c870c7a > > -- > PGP fingerprint: 42CE 7698 D6A0 6129 AA16 EF5C 5431 BDE2 C8F0 B2F4 > _______________________________________________ > WireGuard mailing list > WireGuard@lists.zx2c4.com > https://lists.zx2c4.com/mailman/listinfo/wireguard >