Linux NILFS development
 help / color / mirror / Atom feed
* [PATCH] nilfs2: use 64-bit superblock timstamps
@ 2018-06-20  7:50 Arnd Bergmann
  2018-06-21  2:41 ` Ryusuke Konishi
  0 siblings, 1 reply; 2+ messages in thread
From: Arnd Bergmann @ 2018-06-20  7:50 UTC (permalink / raw)
  To: Ryusuke Konishi
  Cc: linux-nilfs, Arnd Bergmann, Jeff Layton, y2038, linux-kernel,
	David Howells, Andrew Morton

The mount time field in the superblock uses a 64-bit timestamp, but
calling get_seconds() may truncate the current time to 32 bits.

This changes it to ktime_get_real_seconds() to avoid the potential
overflow.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 fs/nilfs2/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
index 6ffeca84d7c3..1b9067cf4511 100644
--- a/fs/nilfs2/super.c
+++ b/fs/nilfs2/super.c
@@ -834,7 +834,7 @@ static int nilfs_setup_super(struct super_block *sb, int is_mount)
 		sbp[0]->s_max_mnt_count = cpu_to_le16(NILFS_DFL_MAX_MNT_COUNT);
 
 	sbp[0]->s_mnt_count = cpu_to_le16(mnt_count + 1);
-	sbp[0]->s_mtime = cpu_to_le64(get_seconds());
+	sbp[0]->s_mtime = cpu_to_le64(ktime_get_real_seconds());
 
 skip_mount_setup:
 	sbp[0]->s_state =
-- 
2.9.0

_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] nilfs2: use 64-bit superblock timstamps
  2018-06-20  7:50 [PATCH] nilfs2: use 64-bit superblock timstamps Arnd Bergmann
@ 2018-06-21  2:41 ` Ryusuke Konishi
  0 siblings, 0 replies; 2+ messages in thread
From: Ryusuke Konishi @ 2018-06-21  2:41 UTC (permalink / raw)
  To: Arnd Bergmann, Andrew Morton
  Cc: y2038, David Howells, linux-nilfs, linux-kernel, Jeff Layton

On 2018/06/20 16:50, Arnd Bergmann wrote:
> The mount time field in the superblock uses a 64-bit timestamp, but
> calling get_seconds() may truncate the current time to 32 bits.
> 
> This changes it to ktime_get_real_seconds() to avoid the potential
> overflow.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Looks good to me.

Thanks, all.

Acked-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>


> ---
>   fs/nilfs2/super.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
> index 6ffeca84d7c3..1b9067cf4511 100644
> --- a/fs/nilfs2/super.c
> +++ b/fs/nilfs2/super.c
> @@ -834,7 +834,7 @@ static int nilfs_setup_super(struct super_block *sb, int is_mount)
>   		sbp[0]->s_max_mnt_count = cpu_to_le16(NILFS_DFL_MAX_MNT_COUNT);
>   
>   	sbp[0]->s_mnt_count = cpu_to_le16(mnt_count + 1);
> -	sbp[0]->s_mtime = cpu_to_le64(get_seconds());
> +	sbp[0]->s_mtime = cpu_to_le64(ktime_get_real_seconds());
>   
>   skip_mount_setup:
>   	sbp[0]->s_state =
> 


_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-06-21  2:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-20  7:50 [PATCH] nilfs2: use 64-bit superblock timstamps Arnd Bergmann
2018-06-21  2:41 ` Ryusuke Konishi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox