Messages in this thread | | | From | Arnd Bergmann <> | Date | Thu, 19 Oct 2017 17:29:12 +0200 | Subject | Re: [PATCH v2 1/2] isofs: fix timestamps beyond 2027 |
| |
On Thu, Oct 19, 2017 at 5:17 PM, Jan Kara <jack@suse.cz> wrote: > On Thu 19-10-17 16:47:48, Arnd Bergmann wrote: >> isofs uses a 'char' variable to load the number of years since >> 1900 for an inode timestamp. On architectures that use a signed >> char type by default, this results in an invalid date for >> anything beyond 2027. >> >> This changes the function argument to a 'u8' array, which >> is defined the same way on all architectures, and unambiguously >> lets us use years until 2155. >> >> This should be backported to all kernels that might still be >> in use by that date. >> >> Cc: stable@vger.kernel.org >> Signed-off-by: Arnd Bergmann <arnd@arndb.de> > ... >> -int iso_date(char * p, int flag) >> +int iso_date(u8 *p, int flag) >> { >> int year, month, day, hour, minute, second, tz; >> int crtime; >> >> - year = p[0]; >> + year = (int)(u8)p[0]; > > The cast seems unnecessary now? >
Sorry, I must have rebased the patch incorrectly, this was intended to be removed of course.
Arnd
| |