[Y2038] Fifth draft of the Y2038 design document
Joseph Myers
joseph@codesourcery.com
Thu Mar 9 15:13:00 GMT 2017
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
More information about the Libc-alpha
mailing list