lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ