Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751293AbeAPRBE (ORCPT + 1 other); Tue, 16 Jan 2018 12:01:04 -0500 Received: from mout.kundenserver.de ([212.227.126.135]:62792 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750790AbeAPRBD (ORCPT ); Tue, 16 Jan 2018 12:01:03 -0500 From: Arnd Bergmann To: Jeremy Kerr , Arnd Bergmann , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: Al Viro , Andrew Morton , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH] [RESEND] spufs: use timespec64 for timestamps Date: Tue, 16 Jan 2018 18:00:35 +0100 Message-Id: <20180116170053.2557047-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:/qoT/uFDhNfeANqXXyLK6Y7UlobBFW3E6ELFmfMkNRY83c/c82I F8rAb5/gGqWZWEsdEY7zFOBa0Unuo5r/A6ZzPrqoj7WfGT0sGwW+csK1IxvQPcyISRIsn1h 3d9O+DC2bKfkyEjPm40Zjy168OmNSXiMlk0lrzWheI0NQbeqo/QL2cAeXwZ0xdDy4A0aEF9 MIJuZaeNdHUDBw8BKTNyg== X-UI-Out-Filterresults: notjunk:1;V01:K0:2QwRfZbMSN0=:pLWBC1uH/55clPQyYlBudD nDsKR6jE+Dqu7g6Deow2VsIUXFBFYXempA7Lp/w0IXZ5kwOxv9QV9fOPdd7XjNHd6d1P9feO0 tsjNj4rfhYAZyM9WWgMZwlPHimWJAdkJH2wQinxfe856Gpl5sjo74oXfp5XLxfD57xN19qBVf umZflkZwGbrX1IP3pZEFOLdUr6ZTl5MATkLwp5LL7Go8hoVkXDW7o/8ooVj8zbXJPQ3C74raB 4Ilq8lKuCiCb9G85eQR3aHw89wagNuntbvhDzwWeFOYMWdZlKFibqtvBlTWuVkhrNkdh+bRLX QygHwexFCWGbJCzvt1l5L1Ib3NW+VLskR1GrOpFIFryXMSXPwkTyzKhkYD8u2LK93ssjR36Vz 0iO5/a7GLeaUwo3upkJbIsf/gX9m2nsYwI8K+uIQ6NFGYb8wdq4gBeAFf73ZT8KBe5iPg9W0p Po+WJy6KzbENWntgie9uFI/gI2dOCkiQZ8VxrWiR5LwerIld47fAdr4CjKLOQGi0CIUKpWJPv AysVWwC5YSLqh13MyZYsiWC/giLbOjYI1W/YO8zpGTTh9k0KY843QfidmqTSDg6AVdekMFLIK EfTI03A+tW6CIbpPC/k4y+JH8p064G+xnN6t2QBI4QCCcd4YhGtelvM6frh6rjxcYyfnP+8/p avKJPdqOesBRGoPP0EOrNJVNtIFpV66qYN/Qe7cRa86mADiH+Y5LhYk0HI5VxlfjHkFHQAI/F 9pj0amMK/2GEy0HLJJxQI2tvs3QFCJqmPmYURw== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: The switch log prints the tv_sec portion of timespec as a 32-bit number, while overflows in 2106. It also uses the timespec type, which is safe on 64-bit architectures, but deprecated because it causes overflows in 2038 elsewhere. This changes it to timespec64 and printing a 64-bit number for consistency. Signed-off-by: Arnd Bergmann --- Submitted in November 2017, no reply, resending. Please apply. --- arch/powerpc/platforms/cell/spufs/file.c | 6 +++--- arch/powerpc/platforms/cell/spufs/spufs.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index fc7772c3d068..c1be486da899 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c @@ -2375,8 +2375,8 @@ static int switch_log_sprint(struct spu_context *ctx, char *tbuf, int n) p = ctx->switch_log->log + ctx->switch_log->tail % SWITCH_LOG_BUFSIZE; - return snprintf(tbuf, n, "%u.%09u %d %u %u %llu\n", - (unsigned int) p->tstamp.tv_sec, + return snprintf(tbuf, n, "%llu.%09u %d %u %u %llu\n", + (unsigned long long) p->tstamp.tv_sec, (unsigned int) p->tstamp.tv_nsec, p->spu_id, (unsigned int) p->type, @@ -2499,7 +2499,7 @@ void spu_switch_log_notify(struct spu *spu, struct spu_context *ctx, struct switch_log_entry *p; p = ctx->switch_log->log + ctx->switch_log->head; - ktime_get_ts(&p->tstamp); + ktime_get_ts64(&p->tstamp); p->timebase = get_tb(); p->spu_id = spu ? spu->number : -1; p->type = type; diff --git a/arch/powerpc/platforms/cell/spufs/spufs.h b/arch/powerpc/platforms/cell/spufs/spufs.h index 2d0479ad3af4..b5fc1b3fe538 100644 --- a/arch/powerpc/platforms/cell/spufs/spufs.h +++ b/arch/powerpc/platforms/cell/spufs/spufs.h @@ -69,7 +69,7 @@ struct switch_log { unsigned long head; unsigned long tail; struct switch_log_entry { - struct timespec tstamp; + struct timespec64 tstamp; s32 spu_id; u32 type; u32 val; -- 2.9.0