jbd2: make journal y2038 safe
authorArnd Bergmann <arnd@arndb.de>
Thu, 30 Jun 2016 15:49:01 +0000 (11:49 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 30 Jun 2016 15:49:01 +0000 (11:49 -0400)
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.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: stable@vger.kernel.org
fs/jbd2/commit.c

index 70078096117d3e956e86be7ba358b724286989d9..78313adb3c953ddb74d71070a76e0dc445713921 100644 (file)
@@ -124,7 +124,7 @@ static int journal_submit_commit_record(journal_t *journal,
        struct commit_header *tmp;
        struct buffer_head *bh;
        int ret;
-       struct timespec now = current_kernel_time();
+       struct timespec64 now = current_kernel_time64();
 
        *cbh = NULL;