From: Theodore Ts'o Date: Thu, 18 Apr 2024 18:16:55 +0000 (-0400) Subject: debugfs: fix printing post-2038 inode timestamps X-Git-Tag: v1.47.1-rc1~41 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=8b37e89f850610d51b7550ac34b8912b3000ced5;p=tools%2Fe2fsprogs.git debugfs: fix printing post-2038 inode timestamps Debugfs's stat command called ext2fs_inode_xtime_get() with a struct inode * instead of a struct large_inode *. As a result, printing inode timestamps will be incorrect if the time value is larger than 2**32. Fixes: ca8bc9240a00 ("Add post-2038 timestamp support to e2fsprogs") Signed-off-by: Theodore Ts'o --- diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c index 9655117..b17576e 100644 --- a/debugfs/debugfs.c +++ b/debugfs/debugfs.c @@ -900,21 +900,24 @@ void internal_dump_inode(FILE *out, const char *prefix, if (ext2fs_inode_includes(inode_size, i_ctime_extra)) fprintf(out, "%s ctime: 0x%08x:%08x -- %s", prefix, inode->i_ctime, large_inode->i_ctime_extra, - time_to_string(ext2fs_inode_xtime_get(inode, i_ctime))); + time_to_string(ext2fs_inode_xtime_get(large_inode, + i_ctime))); else fprintf(out, "%sctime: 0x%08x -- %s", prefix, inode->i_ctime, time_to_string((__s32) inode->i_ctime)); if (ext2fs_inode_includes(inode_size, i_atime_extra)) fprintf(out, "%s atime: 0x%08x:%08x -- %s", prefix, inode->i_atime, large_inode->i_atime_extra, - time_to_string(ext2fs_inode_xtime_get(inode, i_atime))); + time_to_string(ext2fs_inode_xtime_get(large_inode, + i_atime))); else fprintf(out, "%satime: 0x%08x -- %s", prefix, inode->i_atime, time_to_string((__s32) inode->i_atime)); if (ext2fs_inode_includes(inode_size, i_mtime_extra)) fprintf(out, "%s mtime: 0x%08x:%08x -- %s", prefix, inode->i_mtime, large_inode->i_mtime_extra, - time_to_string(ext2fs_inode_xtime_get(inode, i_mtime))); + time_to_string(ext2fs_inode_xtime_get(large_inode, + i_mtime))); else fprintf(out, "%smtime: 0x%08x -- %s", prefix, inode->i_mtime, time_to_string((__s32) inode->i_mtime));