Use of __kernel_timespec in userspace genetlink API
Tharre
tharre3 at gmail.com
Mon Apr 22 20:13:50 CEST 2019
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.zx2c4.com/pipermail/wireguard/attachments/20190422/46163f71/attachment.asc>
More information about the WireGuard
mailing list