From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.136]:38328 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751527AbdDHBaT (ORCPT ); Fri, 7 Apr 2017 21:30:19 -0400 Date: Fri, 7 Apr 2017 21:30:11 -0400 From: Steven Rostedt To: Deepa Dinamani Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org, tglx@linutronix.de, viro@zeniv.linux.org.uk, gregkh@linuxfoundation.org, andreas.dilger@intel.com, arnd@arndb.de, bfields@fieldses.org, clm@fb.com, davem@davemloft.net, dsterba@suse.com, dushistov@mail.ru, eparis@redhat.com, jaegeuk@kernel.org, jbacik@fb.com, jlayton@poochiereds.net, john.stultz@linaro.org, jsimmons@infradead.org, mingo@redhat.com, oleg.drokin@intel.com, paul@paul-moore.com, yuchao0@huawei.com, ceph-devel@vger.kernel.org, devel@driverdev.osuosl.org, linux-audit@redhat.com, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, linux-mtd@lists.infradead.org, linux-security-module@vger.kernel.org, lustre-devel@lists.lustre.org, netdev@vger.kernel.org, samba-technical@lists.samba.org, y2038@lists.linaro.org Subject: Re: [PATCH 02/12] trace: Make trace_hwlat timestamp y2038 safe Message-ID: <20170407213011.36e29f42@gandalf.local.home> In-Reply-To: <1491613030-11599-3-git-send-email-deepa.kernel@gmail.com> References: <1491613030-11599-1-git-send-email-deepa.kernel@gmail.com> <1491613030-11599-3-git-send-email-deepa.kernel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-btrfs-owner@vger.kernel.org List-ID: On Fri, 7 Apr 2017 17:57:00 -0700 Deepa Dinamani wrote: > struct timespec is not y2038 safe on 32 bit machines > and needs to be replaced by struct timespec64 > in order to represent times beyond year 2038 on such > machines. > > Fix all the timestamp representation in struct trace_hwlat > and all the corresponding implementations. > > diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c > index 02a4aeb..08f9bab 100644 > --- a/kernel/trace/trace_output.c > +++ b/kernel/trace/trace_output.c > @@ -4,7 +4,6 @@ > * Copyright (C) 2008 Red Hat Inc, Steven Rostedt > * > */ > - > #include > #include > #include > @@ -1161,11 +1160,11 @@ trace_hwlat_print(struct trace_iterator *iter, int flags, > > trace_assign_type(field, entry); > > - trace_seq_printf(s, "#%-5u inner/outer(us): %4llu/%-5llu ts:%ld.%09ld", > + trace_seq_printf(s, "#%-5u inner/outer(us): %4llu/%-5llu ts:%lld.%09ld", > field->seqnum, > field->duration, > field->outer_duration, > - field->timestamp.tv_sec, > + (long long)field->timestamp.tv_sec, Refresh my memory. We need the cast because on 64 bit boxes timestamp.tv_sec is just a long? Other than that. Reviewed-by: Steven Rostedt (VMware) -- Steve > field->timestamp.tv_nsec); > > if (field->nmi_count) { > @@ -1195,10 +1194,10 @@ trace_hwlat_raw(struct trace_iterator *iter, int flags, > > trace_assign_type(field, iter->ent); > > - trace_seq_printf(s, "%llu %lld %ld %09ld %u\n", > + trace_seq_printf(s, "%llu %lld %lld %09ld %u\n", > field->duration, > field->outer_duration, > - field->timestamp.tv_sec, > + (long long)field->timestamp.tv_sec, > field->timestamp.tv_nsec, > field->seqnum); > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Rostedt Subject: Re: [PATCH 02/12] trace: Make trace_hwlat timestamp y2038 safe Date: Fri, 7 Apr 2017 21:30:11 -0400 Message-ID: <20170407213011.36e29f42@gandalf.local.home> References: <1491613030-11599-1-git-send-email-deepa.kernel@gmail.com> <1491613030-11599-3-git-send-email-deepa.kernel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: bfields@fieldses.org, clm@fb.com, linux-mtd@lists.infradead.org, dushistov@mail.ru, jlayton@poochiereds.net, ceph-devel@vger.kernel.org, devel@driverdev.osuosl.org, linux-cifs@vger.kernel.org, paul@paul-moore.com, y2038@lists.linaro.org, mingo@redhat.com, jsimmons@infradead.org, arnd@arndb.de, oleg.drokin@intel.com, john.stultz@linaro.org, viro@zeniv.linux.org.uk, dsterba@suse.com, jaegeuk@kernel.org, tglx@linutronix.de, andreas.dilger@intel.com, jbacik@fb.com, gregkh@linuxfoundation.org, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, eparis@redhat.com, linux-f2fs-devel@lists.sourceforge.net, linux-security-module@vger.kernel.org, linux-audit@redhat.com, netdev@vger.kernel.org, linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org, davem@davemloft.net, linux-btrfs@vger.kernel.org, lustre-devel@lists.lustre.org To: Deepa Dinamani Return-path: In-Reply-To: <1491613030-11599-3-git-send-email-deepa.kernel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net List-Id: linux-cifs.vger.kernel.org On Fri, 7 Apr 2017 17:57:00 -0700 Deepa Dinamani wrote: > struct timespec is not y2038 safe on 32 bit machines > and needs to be replaced by struct timespec64 > in order to represent times beyond year 2038 on such > machines. > > Fix all the timestamp representation in struct trace_hwlat > and all the corresponding implementations. > > diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c > index 02a4aeb..08f9bab 100644 > --- a/kernel/trace/trace_output.c > +++ b/kernel/trace/trace_output.c > @@ -4,7 +4,6 @@ > * Copyright (C) 2008 Red Hat Inc, Steven Rostedt > * > */ > - > #include > #include > #include > @@ -1161,11 +1160,11 @@ trace_hwlat_print(struct trace_iterator *iter, int flags, > > trace_assign_type(field, entry); > > - trace_seq_printf(s, "#%-5u inner/outer(us): %4llu/%-5llu ts:%ld.%09ld", > + trace_seq_printf(s, "#%-5u inner/outer(us): %4llu/%-5llu ts:%lld.%09ld", > field->seqnum, > field->duration, > field->outer_duration, > - field->timestamp.tv_sec, > + (long long)field->timestamp.tv_sec, Refresh my memory. We need the cast because on 64 bit boxes timestamp.tv_sec is just a long? Other than that. Reviewed-by: Steven Rostedt (VMware) -- Steve > field->timestamp.tv_nsec); > > if (field->nmi_count) { > @@ -1195,10 +1194,10 @@ trace_hwlat_raw(struct trace_iterator *iter, int flags, > > trace_assign_type(field, iter->ent); > > - trace_seq_printf(s, "%llu %lld %ld %09ld %u\n", > + trace_seq_printf(s, "%llu %lld %lld %09ld %u\n", > field->duration, > field->outer_duration, > - field->timestamp.tv_sec, > + (long long)field->timestamp.tv_sec, > field->timestamp.tv_nsec, > field->seqnum); > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot From mboxrd@z Thu Jan 1 00:00:00 1970 From: rostedt@goodmis.org (Steven Rostedt) Date: Fri, 7 Apr 2017 21:30:11 -0400 Subject: [PATCH 02/12] trace: Make trace_hwlat timestamp y2038 safe In-Reply-To: <1491613030-11599-3-git-send-email-deepa.kernel@gmail.com> References: <1491613030-11599-1-git-send-email-deepa.kernel@gmail.com> <1491613030-11599-3-git-send-email-deepa.kernel@gmail.com> Message-ID: <20170407213011.36e29f42@gandalf.local.home> To: linux-security-module@vger.kernel.org List-Id: linux-security-module.vger.kernel.org On Fri, 7 Apr 2017 17:57:00 -0700 Deepa Dinamani wrote: > struct timespec is not y2038 safe on 32 bit machines > and needs to be replaced by struct timespec64 > in order to represent times beyond year 2038 on such > machines. > > Fix all the timestamp representation in struct trace_hwlat > and all the corresponding implementations. > > diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c > index 02a4aeb..08f9bab 100644 > --- a/kernel/trace/trace_output.c > +++ b/kernel/trace/trace_output.c > @@ -4,7 +4,6 @@ > * Copyright (C) 2008 Red Hat Inc, Steven Rostedt > * > */ > - > #include > #include > #include > @@ -1161,11 +1160,11 @@ trace_hwlat_print(struct trace_iterator *iter, int flags, > > trace_assign_type(field, entry); > > - trace_seq_printf(s, "#%-5u inner/outer(us): %4llu/%-5llu ts:%ld.%09ld", > + trace_seq_printf(s, "#%-5u inner/outer(us): %4llu/%-5llu ts:%lld.%09ld", > field->seqnum, > field->duration, > field->outer_duration, > - field->timestamp.tv_sec, > + (long long)field->timestamp.tv_sec, Refresh my memory. We need the cast because on 64 bit boxes timestamp.tv_sec is just a long? Other than that. Reviewed-by: Steven Rostedt (VMware) -- Steve > field->timestamp.tv_nsec); > > if (field->nmi_count) { > @@ -1195,10 +1194,10 @@ trace_hwlat_raw(struct trace_iterator *iter, int flags, > > trace_assign_type(field, iter->ent); > > - trace_seq_printf(s, "%llu %lld %ld %09ld %u\n", > + trace_seq_printf(s, "%llu %lld %lld %09ld %u\n", > field->duration, > field->outer_duration, > - field->timestamp.tv_sec, > + (long long)field->timestamp.tv_sec, > field->timestamp.tv_nsec, > field->seqnum); > -- To unsubscribe from this list: send the line "unsubscribe linux-security-module" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html