lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Mon, 27 Oct 2014 23:11:30 +0100 (CET)
From:	Thomas Gleixner <tglx@...utronix.de>
To:	John Stultz <john.stultz@...aro.org>
cc:	"pang.xunlei" <pang.xunlei@...aro.org>,
	lkml <linux-kernel@...r.kernel.org>,
	"rtc-linux@...glegroups.com" <rtc-linux@...glegroups.com>,
	Alessandro Zummo <a.zummo@...ertech.it>
Subject: Re: [PATCH RFC 01/12] time: Rename mktime() to mktime_unsafe()

On Mon, 27 Oct 2014, John Stultz wrote:
> On Mon, Oct 27, 2014 at 2:38 PM, Thomas Gleixner <tglx@...utronix.de> wrote:
> > On Mon, 27 Oct 2014, pang.xunlei wrote:
> >
> >> The kernel uses 32-bit signed value(time_t) for seconds since 1970-01-01:00:00:00, thus it
> >> will overflow at 2038-01-19 03:14:08 on 32-bit systems. We call this "2038 safety" issue.
> >>
> >> Currently, mktime() deals with "unsigned long" which is 2038 unsafe on 32-bit systems.
> >>
> >> As part of addressing 2038 saftey for in-kernel uses, this patch renames mktime() to
> >> mktime_unsafe(), and changes all its calling users correspondingly. The safe version
> >> of mktime() will be added in the following patch.
> >
> > This is a flag day change. We really want to avoid that. Can we please
> > add a new interface first, then convert all the existing users and
> > kill the old interface.
> >
> > If we really care we can rename it back to the old name once all that
> > has been done, but I personally do not care whether its mktime or
> > mktime64 as long as it is fixed proper.
> 
> This was my bad, as I gave him guidance here. I was hoping to avoid
> doing the one-by-one function renaming dance twice, just to fix the
> function.
> 
> But you're probably right, and someone will probably add a new usage
> right before this gets merged and we'll have some pain there.

It's not only that. The whole series is a purely mechanical approach
to the problem.

Rename A
Fixup some stuff
Rename B
Fixup some more stuff
Rename C
Fixup some more stuff

I completely understand why you tried to take that approach, but TBH
at the point where the "Fixup some more" started to touch the same
file again, you should have noticed that adding intermediate (old
style) timespecs is a non starter as it just introduces another level
of conversion complexity which you wanted to avoid with the
"mechanical" fixup approach in the first place.

Thanks,

	tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ