> On Wed, Jan 8, 2020 at 7:03 PM Christoph Hellwig <hch@xxxxxx> wrote: > > > > Arnd, can you review the exfat time handling, especially vs y2038 > > related issues? > > Sure, thanks for adding me to the loop > > > On Thu, Jan 02, 2020 at 10:19:02AM +0100, Pali Rohár wrote: > > > On Thursday 02 January 2020 16:20:32 Namjae Jeon wrote: > > > > +#define TIMEZONE_CUR_OFFSET() ((sys_tz.tz_minuteswest / (-15)) > & 0x7F) > > > > +/* Convert linear UNIX date to a FAT time/date pair. */ void > > > > +exfat_time_unix2fat(struct exfat_sb_info *sbi, struct timespec64 > *ts, > > > > + struct exfat_date_time *tp) { > > > > + time_t second = ts->tv_sec; > > > > + time_t day, month, year; > > > > + time_t ld; /* leap day */ > > > > > > Question for other maintainers: Has kernel code already time_t > > > defined as 64bit? Or it is still just 32bit and 32bit systems and > > > some time64_t needs to be used? I remember that there was discussion > > > about these problems, but do not know if it was changed/fixed or > > > not... Just a pointer for possible Y2038 problem. As "ts" is of type > > > timespec64, but "second" of type time_t. > > I am actually very close to sending the patches to remove the time_t > definition from the kernel, at least in yesterday's version there were no > users. > > exfat_time_unix2fat() seems to be a copy of the old fat_time_unix2fat() > that we fixed a while ago, please have a look at that implementation based > on time64_to_tm(), which avoids time_t. Okay, Pali reported it and suggested to check your patch in staging/exfat. I will fix it on v10. Thanks for your review! > > Arnd