From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751935AbdK0Lcv (ORCPT ); Mon, 27 Nov 2017 06:32:51 -0500 Received: from mout.kundenserver.de ([212.227.126.133]:56291 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751350AbdK0Lcu (ORCPT ); Mon, 27 Nov 2017 06:32:50 -0500 From: Arnd Bergmann To: Jeremy Kerr , Arnd Bergmann , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: y2038@lists.linaro.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] spufs: use timespec64 for timestamps Date: Mon, 27 Nov 2017 12:31:55 +0100 Message-Id: <20171127113234.2186374-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:EW6biBrOwFS17p+nniKdYxm3pWRwXsIBMX3kxHXxtjIAEDmPw+K +XqSaT2/Jpctb6S2oj0W4NbjNSn9rPO2DBzJjcbpwq5snH6d7bbu44+sxI+tshiO6OzKeRQ BTxxDsQZ2cV0K+wFbQo2Ooq5s1UHIAW6tbRHuncIX3BOjgF9cfHpdUoT4PZk4iC5ATZ1HB2 IYqihV5hNGCtvOjAXWENg== X-UI-Out-Filterresults: notjunk:1;V01:K0:2//7rgYjXjA=:jIutGoYcXaNh4hc3CQzYFT n9Fyf/d7nlFqd6TZDfL5DOErBWagyQQCkPNcgyb8aCr8pl5Y/S/ES98tbr+4QoLe6Yj/9GJJ7 3Je+I4vQNWoqo5IvuLqUGZGvqQ5HkeRY14dudCzmcsKvIpeBNVaAq034Ta9XRZ0ghxxPI09J7 Yr4kYLASRRDASczvwzTMMjl41aG+l2WfziC4rJMO5ItxVyv/pDe/Owvn6kRnaXxpFp0S9XF+O YlvDFfBLf33KQ9gTMUgVCx59Q4X2GCQyPQYBMp3ZRZQWkOsLwa/d0ZsMqiWad7wO2XObVA/T1 u+WOlhdR5zsaQIrb6QmO1hi+bFtHen/xoYhnzU9o2x9Kt25c8iN0d0169JeRJPdkvakKFmloj yIhGGBj3XqGgDiAjBcr+vt+J685tSmxvvfvVrahfpHzLranVqiliQ/cdFSTbtJ1P9iqUB2d9f +qByFfqdd8LNVg0CRWO1BWFMkL7hQKAqTwL6/sNv8b+KnlD/odK9Gj2i6EuWYQuIncvMzHRc1 4IVv4I3ax2wOnSIaXucWA9FG2Hq5Jle8bsUSkLoUD31PPFv2s8KaaKHI1vN46gm+tzu4uqKke cFSUvpdM4jobTjY2MicL8RcKBbikdfiwXlJO44eSqDSjbvCyr2UqkB8IdMK2EImQx6VzbSrmv hUiJyr8nm3iW7iSQbvqFP0/szu1cHrKHVCPlp6L6apqmTfWN3DjzoA3NQWK+nOCwH17FPPHmt S2Tgdp1ei/+9h2PWli3qgbSma7T9zq8F0B8aOA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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 5ffcdeb1eb17..94139135be9c 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 5e59f80e95db..5d85c689c2e9 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