aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2024-04-18 14:16:55 -0400
committerTheodore Ts'o <tytso@mit.edu>2024-04-18 14:16:55 -0400
commit8b37e89f850610d51b7550ac34b8912b3000ced5 (patch)
treee7d507183df87408dcae19abb3dccb6b8e543038
parent08079876e77b5f3fac81c093b33a297afb4dcb31 (diff)
downloade2fsprogs-8b37e89f850610d51b7550ac34b8912b3000ced5.tar.gz
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 <tytso@mit.edu>
-rw-r--r--debugfs/debugfs.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
index 965511739..b17576e8f 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));