Skip to contentSkip to conversation

For 5.4 stable exfat: Month timestamp metadata accidentally incremented

PATCH In review Valdis Klētnieks 2 participants 2 messages Jan 15, 2021

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 For 5.4 stable 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

drivers/staging/exfat/exfat_super.c +1 -1
index 3b2b0ceb7297..848258daf620 100644
@@ -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;
#1 lore raw
Quoted 6 lines · Valdis Klētnieks

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.

Quoted 8 lines

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

Now queued up, thanks.

greg k-h