From 1b9e68e0ff22933d1bab5defa761268e904daf28 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Wed, 1 May 2024 16:58:50 -0400 Subject: [PATCH] libsupport: use explicit type widths instead of time_t The in-memory data structures used time_t for the grace period (which is a delta timestamp denominated in seconds), as well as the soft limit expiration time (which is an actual time_t). Use an explicit __u32 for the former, and the __u64 for the latter. This silences a Coverity warning, but more importantly, using an explicit __u64 for the expiration time means that running e2fsck on a platform with a 32-bit time_t, and it needs to read and then modify a quota structure, we won't lose the high 32-bits of the quota expiration time. Addresses-Coverity-Bug: 1531824 Signed-off-by: Theodore Ts'o --- lib/support/quotaio.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/support/quotaio.h b/lib/support/quotaio.h index 390f7dc..6152416 100644 --- a/lib/support/quotaio.h +++ b/lib/support/quotaio.h @@ -101,8 +101,8 @@ struct quotafile_ops; /* Generic information about quotafile */ struct util_dqinfo { - time_t dqi_bgrace; /* Block grace time for given quotafile */ - time_t dqi_igrace; /* Inode grace time for given quotafile */ + __u32 dqi_bgrace; /* Block grace time for given quotafile */ + __u32 dqi_igrace; /* Inode grace time for given quotafile */ union { struct v2_mem_dqinfo v2_mdqi; } u; /* Format specific info about quotafile */ @@ -137,8 +137,8 @@ struct util_dqblk { qsize_t dqb_bhardlimit; qsize_t dqb_bsoftlimit; qsize_t dqb_curspace; - time_t dqb_btime; - time_t dqb_itime; + __u64 dqb_btime; + __u64 dqb_itime; union { struct v2_mem_dqblk v2_mdqb; } u; /* Format specific dquot information */ -- 1.8.3.1