This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [Y2038] Fifth draft of the Y2038 design document
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Albert ARIBAUD <albert dot aribaud at 3adev dot fr>, Arnd Bergmann <arnd at arndb dot de>, <y2038 at lists dot linaro dot org>, GNU C Library <libc-alpha at sourceware dot org>, Deepa Dinamani <deepa dot kernel at gmail dot com>
- Date: Thu, 9 Mar 2017 15:00:05 +0000
- Subject: Re: [Y2038] Fifth draft of the Y2038 design document
- Authentication-results: sourceware.org; auth=none
- References: <20170222090511.48be22ed.albert.aribaud@3adev.fr> <CAK8P3a2-vsreq0WFiTS-WizSvmci_C5f4pMAiYF7-OhjzQZiNg@mail.gmail.com> <alpine.DEB.2.20.1702222305450.24643@digraph.polyomino.org.uk> <CAK8P3a2nioXeVy+LnAz9wOObTQuD2kfJHUW-eb4=-tcohs43sQ@mail.gmail.com> <alpine.DEB.2.20.1702231726150.30491@digraph.polyomino.org.uk> <CAK8P3a3fFZBx-h=33an45dLVUqEq1eL9Gzu2zTRKQoZLSYKkzQ@mail.gmail.com> <20170227120204.5846d883.albert.aribaud@3adev.fr> <CAK8P3a07bk9j27kxbmtY=hZ=gffAOktsk91Gmo0YDq5DCdcBtw@mail.gmail.com> <alpine.DEB.2.20.1702271841060.12140@digraph.polyomino.org.uk> <CAK8P3a3vHecifoU_q17Xae2Pc8fu3qUOe9FH+HTKL17MhXU=Ag@mail.gmail.com> <20170227210620.3a8af1ce.albert.aribaud@3adev.fr> <CAK8P3a3sFdFVutFd=4JvP30QQDpOFPzE-1NeRnLJxk83MPispA@mail.gmail.com> <20170308112845.2dd88d86.albert.aribaud@3adev.fr> <alpine.DEB.2.20.1703082008180.1413@digraph.polyomino.org.uk> <d7f23808-c93c-8508-48ad-63715bd4645f@redhat.com>
On Thu, 9 Mar 2017, Florian Weimer wrote:
> On 03/08/2017 09:10 PM, Joseph Myers wrote:
> > On Wed, 8 Mar 2017, Albert ARIBAUD wrote:
> >
> > > IIUC, on the kernel side there is a will to move away from Posix (1)
> > > here and just make tv_nsec 64-bits with no padding when time_t is
> > > 64-bit.
> >
> > In that case, that simply means it's glibc's responsibility to avoid the
> > x32 mistake, and copy timespec values passed to the kernel to clear
> > padding while staying compatible with POSIX. (Which would probably also
> > provide the infrastructure required to fix the x32 bug in glibc along the
> > lines used in musl.)
>
> That's not going to work because struct timespec can be hidden in ioctl
> arguments, ancillary data (cmsg), and Netlink messages. It's an uphill battle
> to lie to userspace about the kernel ABI, so we really shouldn't do that.
Then the kernel should follow POSIX in the processing of timespec
structures from userspace if they don't want their 64-bit timespec
interfaces ignored.
--
Joseph S. Myers
joseph@codesourcery.com