[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160225140919.GA20042@hmsreliant.think-freely.org>
Date: Thu, 25 Feb 2016 09:09:19 -0500
From: Neil Horman <nhorman@...driver.com>
To: Deepa Dinamani <deepa.kernel@...il.com>
Cc: netdev@...r.kernel.org, y2038@...ts.linaro.org, arnd@...db.de,
Vlad Yasevich <vyasevich@...il.com>,
"David S. Miller" <davem@...emloft.net>, linux-sctp@...r.kernel.org
Subject: Re: [PATCH 4/4] net: sctp: Convert log timestamps to be y2038 safe
On Wed, Feb 24, 2016 at 11:07:11PM -0800, Deepa Dinamani wrote:
> SCTP probe log timestamps use struct timespec which is
> not y2038 safe.
> Use struct timespec64 which is 2038 safe instead.
>
> Use monotonic time instead of real time as only time
> differences are logged.
>
> Signed-off-by: Deepa Dinamani <deepa.kernel@...il.com>
> Cc: Vlad Yasevich <vyasevich@...il.com>
> Cc: Neil Horman <nhorman@...driver.com>
> Cc: "David S. Miller" <davem@...emloft.net>
> Cc: linux-sctp@...r.kernel.org
> ---
> net/sctp/probe.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/net/sctp/probe.c b/net/sctp/probe.c
> index 5e68b94..6cc2152 100644
> --- a/net/sctp/probe.c
> +++ b/net/sctp/probe.c
> @@ -65,7 +65,7 @@ static struct {
> struct kfifo fifo;
> spinlock_t lock;
> wait_queue_head_t wait;
> - struct timespec tstart;
> + struct timespec64 tstart;
> } sctpw;
>
> static __printf(1, 2) void printl(const char *fmt, ...)
> @@ -85,7 +85,7 @@ static __printf(1, 2) void printl(const char *fmt, ...)
> static int sctpprobe_open(struct inode *inode, struct file *file)
> {
> kfifo_reset(&sctpw.fifo);
> - getnstimeofday(&sctpw.tstart);
> + ktime_get_ts64(&sctpw.tstart);
>
> return 0;
> }
> @@ -138,7 +138,7 @@ static sctp_disposition_t jsctp_sf_eat_sack(struct net *net,
> struct sk_buff *skb = chunk->skb;
> struct sctp_transport *sp;
> static __u32 lcwnd = 0;
> - struct timespec now;
> + struct timespec64 now;
>
> sp = asoc->peer.primary_path;
>
> @@ -149,8 +149,8 @@ static sctp_disposition_t jsctp_sf_eat_sack(struct net *net,
> (full || sp->cwnd != lcwnd)) {
> lcwnd = sp->cwnd;
>
> - getnstimeofday(&now);
> - now = timespec_sub(now, sctpw.tstart);
> + ktime_get_ts64(&now);
> + now = timespec64_sub(now, sctpw.tstart);
>
> printl("%lu.%06lu ", (unsigned long) now.tv_sec,
> (unsigned long) now.tv_nsec / NSEC_PER_USEC);
> --
> 1.9.1
>
>
Acked-by: Neil Horman <nhorman@...driver.com>
Powered by blists - more mailing lists