[PATCH 47/73] staging/lustre: partially use time64_t for capa expiry

green at linuxhacker.ru green at linuxhacker.ru
Sun Sep 27 20:45:47 UTC 2015


From: Arnd Bergmann <arnd at arndb.de>

Here, we actually have a problem in 2038 or at the latest in 2106 when
the lc_expiry variable on the wire protocol overflows, including on
64-bit architectures.

Now that the actual code was removed, only on-the wire structure
is left so we add in a y2038 warning to remind whoever gets to
implement it again about this problem.

Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Signed-off-by: Oleg Drokin <green at linuxhacker.ru>
---
 drivers/staging/lustre/lustre/include/lustre/lustre_idl.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h b/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
index 057fa19..3ac1de3 100644
--- a/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
+++ b/drivers/staging/lustre/lustre/include/lustre/lustre_idl.h
@@ -3478,6 +3478,7 @@ struct lustre_capa {
 	__u32	   lc_flags;       /** HMAC algorithm & flags */
 	__u32	   lc_keyid;       /** key# used for the capability */
 	__u32	   lc_timeout;     /** capa timeout value (sec) */
+/* FIXME: y2038 time_t overflow: */
 	__u32	   lc_expiry;      /** expiry time (sec) */
 	__u8	    lc_hmac[CAPA_HMAC_MAX_LEN];   /** HMAC */
 } __attribute__((packed));
-- 
2.1.0



More information about the devel mailing list