Re: [PATCH RFC 01/12] time: Rename mktime() to mktime_unsafe()

From: John Stultz
Date: Mon Oct 27 2014 - 17:54:43 EST


On Mon, Oct 27, 2014 at 2:38 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> 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.

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