mpt3sas: Remove usage of 'struct timeval'
Subsystems (2)
PATCH 1/1 mpt3sas: Remove usage of 'struct timeval'
'struct timeval' will have its tv_sec value overflow on 32-bit systems in year 2038 and beyond. This patch replaces the use of struct timeval for computing mpi_request.TimeStamp, and instead uses ktime_t which provides 64-bit seconds value. The timestamp computed remains unaffected (milliseconds since Unix epoch).
--- drivers/scsi/mpt3sas/mpt3sas_base.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/scsi/mpt3sas/mpt3sas_base.c +4 -4
@@ -57,6 +57,7 @@#include <linux/dma-mapping.h> #include <linux/io.h> #include <linux/time.h> +#include <linux/ktime.h> #include <linux/kthread.h> #include <linux/aer.h>
@@ -4387,7 +4388,7 @@ _base_send_ioc_init(struct MPT3SAS_ADAPTER *ioc, int sleep_flag)Mpi2IOCInitRequest_t mpi_request;Mpi2IOCInitReply_t mpi_reply;int i, r =0 ; -struct timeval current_time; +ktime_t current_time;u16 ioc_status;u32 reply_post_free_array_sz =0 ;Mpi2IOCInitRDPQArrayEntry *reply_post_free_array =NULL ;
@@ -4449,9 +4450,8 @@ _base_send_ioc_init(struct MPT3SAS_ADAPTER *ioc, int sleep_flag)/* This time stamp specifies number of milliseconds * since epoch ~ midnight January 1, 1970. */ -do_gettimeofday (¤t_time); - mpi_request.TimeStamp =cpu_to_le64 ((u64 )current_time.tv_sec *1000 + - (current_time.tv_usec /1000 )); + current_time =ktime_get_real (); + mpi_request.TimeStamp =cpu_to_le64 (ktime_to_ms (current_time));if (ioc->logging_level &MPT_DEBUG_INIT ) {__le32 *mfp;
--
2.8.0.rc3.226.g39d4020
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Tina" == Tina Ruchandani <[email protected]> writes:
Tina> 'struct timeval' will have its tv_sec value overflow on 32-bit Tina> systems in year 2038 and beyond. This patch replaces the use of Tina> struct timeval for computing mpi_request.TimeStamp, and instead Tina> uses ktime_t which provides 64-bit seconds value. The timestamp Tina> computed remains unaffected (milliseconds since Unix epoch).
Broadcom folks, please review.
Signature · 5 lines
Martin K. Petersen Oracle Linux Engineering _______________________________________________ Y2038 mailing list [email protected] https://lists.linaro.org/mailman/listinfo/y2038
Sathya Prakash Veerichetty
maintainerHi,
Please consider this patch as Ack-by: Sathya Prakash <[email protected]>
Thanks,
Sathya
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Martin K. Petersen
Sent: Thursday, April 14, 2016 8:48 PM
To: Tina Ruchandani
Cc: [email protected]; Arnd Bergmann; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; Chaitra P B; Sreekanth Reddy
Subject: Re: [PATCH] mpt3sas: Remove usage of 'struct timeval'
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Tina" == Tina Ruchandani <[email protected]> writes:
Tina> 'struct timeval' will have its tv_sec value overflow on 32-bit Tina> systems in year 2038 and beyond. This patch replaces the use of Tina> struct timeval for computing mpi_request.TimeStamp, and instead Tina> uses ktime_t which provides 64-bit seconds value. The timestamp Tina> computed remains unaffected (milliseconds since Unix epoch).
Broadcom folks, please review.
Signature · 1 line
Martin K. Petersen Oracle Linux Engineering
Quoted 9 lines · On Mittwoch, 13. April 2016 00:01:40 CEST Tina Ruchandani wrote:
'struct timeval' will have its
tv_secvalue overflow on 32-bit systems in year 2038 and beyond. This patch replaces the use of struct timeval for computing mpi_request.TimeStamp, and instead usesktime_twhich provides 64-bit seconds value. The timestamp computed remains unaffected (milliseconds since Unix epoch).Signed-off-by Tina Ruchandani <[email protected]>Reviewed-by Arnd Bergmann <[email protected]>---
Signature · 11 lines
Johannes Thumshirn Storage [email protected] +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850 _______________________________________________ Y2038 mailing list [email protected] https://lists.linaro.org/mailman/listinfo/y2038
Martin K. Petersen
AppliedQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Tina" == Tina Ruchandani <[email protected]> writes:
Tina> 'struct timeval' will have its tv_sec value overflow on 32-bit Tina> systems in year 2038 and beyond. This patch replaces the use of Tina> struct timeval for computing mpi_request.TimeStamp, and instead Tina> uses ktime_t which provides 64-bit seconds value. The timestamp Tina> computed remains unaffected (milliseconds since Unix epoch).
Applied to 4.7/scsi-queue.
Thank you!
Signature · 5 lines
Martin K. Petersen Oracle Linux Engineering _______________________________________________ Y2038 mailing list [email protected] https://lists.linaro.org/mailman/listinfo/y2038