Re: [patch] x86-64 ext2/ext3 datestamp problem

Markus Rechberger
2007-02-06T21:54:59Z

H. Peter Anvin wrote:
> Markus Rechberger wrote:
>> Hi,
>>
>> there is an issue with ext2/ext3 date stamps, if someone creates a file
>> with a timestamp between 1902 and 1970(epoch 0) it will overflow and
>> result in a higher date than 2038.
>>
>> $ touch --date "1905-01-01" test
>> $ ls -lah test
>> -rw-r--r-- 1 root root 0 Jan 1 1905 test (this is a cached value here)
>> (remount the partition/clear the cache)
>> $ ls -lah test
>> -rw-r--r-- 1 root root 0 Feb 6 2041 test
>>
>> 10000101101111001100011001110000 .. -2051226000 (1905)
>> 10000101101111001100011001110000 .. 2243741296 (2041)
>>
>> this was tested against linus git tree
>>
>
> I believe the timestamp fields in ext2/ext3 are defined as unsigned.
>
> -hpa
>
>
My debian system's coreutils package only allows dates between 1902 and
2038, but it might be interesting to get that right if it's wrong.

touch (GNU coreutils) 5.97 just says invalid dateformat to 2050-01-01

Markus