Skip to contentSkip to conversation

Patch "jbd2: make journal y2038 safe" has been added to the 4.7-stable tree

PATCH [email protected] 2 participants 2 messages Aug 18, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

jbd2: make journal y2038 safe

to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:

     jbd2-make-journal-y2038-safe.patch

and it can be found in the queue-4.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From abcfb5d979892fc8b12574551fc907c05fe1b11b Mon Sep 17 00:00:00 2001

From: Arnd Bergmann <[email protected]>
Date: Thu, 30 Jun 2016 11:49:01 -0400
Subject: jbd2: make journal y2038 safe

From: Arnd Bergmann <[email protected]>

commit abcfb5d979892fc8b12574551fc907c05fe1b11b upstream.

The jbd2 journal stores the commit time in 64-bit seconds and 32-bit nanoseconds, which avoids an overflow in 2038, but it gets the numbers from current_kernel_time(), which uses 'long' seconds on 32-bit architectures.

This simply changes the code to call current_kernel_time64() so we use 64-bit seconds consistently.

---
 fs/jbd2/commit.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/jbd2/commit.c +1 -1
@@ -124,7 +124,7 @@ static int journal_submit_commit_record(
 	struct commit_header *tmp;
 	struct buffer_head *bh;
 	int ret;
-	struct timespec now = current_kernel_time();
+	struct timespec64 now = current_kernel_time64();
 
 	*cbh = NULL;
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.7/jbd2-make-journal-y2038-safe.patch

#1 lore raw
Quoted 7 lines · On Thursday 18 August 2016, [email protected] wrote:

This is a note to let you know that I've just added the patch titled

jbd2: make journal y2038 safe

to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

Quoted 7 lines

The filename of the patch is:

     jbd2-make-journal-y2038-safe.patch

and it can be found in the queue-4.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

In general, I think adding this sort of patch to stable kernels is pointless, since we still have several hundred other issues that prevent us from running 32-bit kernels after 2038.

We have to work our way through all of them, but until we have a stable kernel that at least has a syscall ABI for 64-bit time_t, I wouldn't bother with backporting any of it.

That said, there is nothing wrong with the patch, and you don't need to back it out if that causes extra work, the only downside is extra work for people that go through the stable patches individually to decide whether to apply them to some other tree.

Arnd