On Fri, Jul 28, 2017 at 2:52 PM, Deepa Dinamani <deepa.kernel@xxxxxxxxx> wrote: > struct timespec is not y2038 safe. Replace > all uses of timespec by y2038 safe struct timespec64. > > Even though timespec is used here to represent timeouts, > replace these with timespec64 so that it facilitates > in verification by creating a y2038 safe kernel image > that is free of timespec. > > The syscall interfaces themselves are not changed as part > of the patch. They will be part of a different series. > > Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx> > Cc: Paul Moore <paul@xxxxxxxxxxxxxx> > Cc: Richard Guy Briggs <rgb@xxxxxxxxxx> > --- > include/linux/audit.h | 6 +++--- > ipc/mqueue.c | 28 ++++++++++++++-------------- > kernel/audit.h | 2 +- > kernel/auditsc.c | 12 ++++++------ > 4 files changed, 24 insertions(+), 24 deletions(-) > diff --git a/kernel/auditsc.c b/kernel/auditsc.c > index 3260ba2312a9..d0870f8e3656 100644 > --- a/kernel/auditsc.c > +++ b/kernel/auditsc.c > @@ -2083,15 +2083,15 @@ void __audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr) > * > */ > void __audit_mq_sendrecv(mqd_t mqdes, size_t msg_len, unsigned int msg_prio, > - const struct timespec *abs_timeout) > + const struct timespec64 *abs_timeout) > { > struct audit_context *context = current->audit_context; > - struct timespec *p = &context->mq_sendrecv.abs_timeout; > + struct timespec64 *p = &context->mq_sendrecv.abs_timeout; > > if (abs_timeout) > - memcpy(p, abs_timeout, sizeof(struct timespec)); > + memcpy(p, abs_timeout, sizeof(struct timespec64)); Since you're changing this line, how about changing it to the following: memcpy(p, abs_timeout, sizeof(*p)); > else > - memset(p, 0, sizeof(struct timespec)); > + memset(p, 0, sizeof(struct timespec64)); Same here. -- paul moore www.paul-moore.com