Messages in this thread | | | Date | Mon, 27 Oct 2014 23:11:30 +0100 (CET) | From | Thomas Gleixner <> | 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@linutronix.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
| |