Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 099340d3 authored by Valdis Kletnieks's avatar Valdis Kletnieks Committed by Greg Kroah-Hartman
Browse files

exfat: Month timestamp metadata accidentally incremented

The staging/exfat driver has departed, but a lot of distros are still tracking
5.4-stable, so we should fix this.

There was an 0/1 offset error in month handling for file metadata, causing
the month to get incremented on each reference to the file.

Thanks to Sebastian Gurtler for troubleshooting this, and Arpad Mueller
for bringing it to my attention.

Relevant discussions:
https://bugzilla.kernel.org/show_bug.cgi?id=210997
https://bugs.launchpad.net/ubuntu/+source/ubuntu-meta/+bug/1872504



Signed-off-by: default avatarValdis Kletnieks <valdis.kletnieks@vt.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bb039d45
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ static void exfat_write_super(struct super_block *sb);
/* Convert a FAT time/date pair to a UNIX date (seconds since 1 1 70). */
static void exfat_time_fat2unix(struct timespec64 *ts, struct date_time_t *tp)
{
	ts->tv_sec = mktime64(tp->Year + 1980, tp->Month + 1, tp->Day,
	ts->tv_sec = mktime64(tp->Year + 1980, tp->Month, tp->Day,
			      tp->Hour, tp->Minute, tp->Second);

	ts->tv_nsec = tp->MilliSecond * NSEC_PER_MSEC;