From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966851AbdAKNpM (ORCPT ); Wed, 11 Jan 2017 08:45:12 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:49680 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966737AbdAKNpK (ORCPT ); Wed, 11 Jan 2017 08:45:10 -0500 From: Arnd Bergmann To: David Howells Cc: Tina Ruchandani , Arnd Bergmann , linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] afs: correctly use 64-bit time for UUID Date: Wed, 11 Jan 2017 14:44:25 +0100 Message-Id: <20170111134436.3877048-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:D841y9NphLOb5JANJjiB/9za77R02t1zT/PKhl7uKmDKr/fiovJ NW81QQwqg7F+m0hHXszKO8N+JAK1WnlKjcMpeQlObrQVmUwxFpV++S1nnPyIUwO2dnebXOb rFoEstEF8leTdf686XMGcrhN0MELo2uiwp8XDfpIPQ9cntkwfjtEsmvLJ1MqJ9W13ArcW3Z FLL0jytnw5Ao89orXcMSg== X-UI-Out-Filterresults: notjunk:1;V01:K0:lWFldpswLwA=:5d3ZnwHvaigqKo9c0LQwtp 6JxWPhm8bElK8vtVSQOOEo9X2B2/0efCPdDVPDpoVSo0KRTasMCO7nv6N4zcHqhk3c1Zq5B9z 6NgpfHE5dZcX0aMSEeF5BZlAiLU4PRHYq1HJuKRubowV19cqh9uZLocGOFc0Duikk+Gx5GD29 8bGRAlhJXny+d7PKxwiOySvyQC+JqW1Q/lyQP5mnDAOw4WhrutnaDqDOuXIY5D4e/wZzo9XMk StP9llU7hkJGimTl+ZPwhesCZMzBzkF+9Nqcto4j1tqc2tgDW4omNoRUFRm1WFuagVOpZyyLQ 42hoWTJ86Q+JbRqRGl2CdizdQGlr1vcuXB+RqkMRtMI2W/61lHfMc5BvKlM+FgOsmnAkK5MX7 nuI/RHtxWBU7IdqcYsyidUOQZ7JX7CL/Bc3XckGoOu/ffXPZWnvlabgqBu5A11wQeeXlv3t0b zrjp9jCnKb//fgvCJudtJYYzv4v/Y3prYjqZyNuk3jFs53bxFJY57tYTND4iHC+lUesEv23lY QmRmDHcMMnNkjVPsiHQXQKc3r3CHQLTulO3ymI5c1TcL4EzDR95nkCn76q2FRu6wRIBBqYPXH 9WOVB9yuDFDjrQ0roy/pWykSMpOCXN6isXJbytyMP/nectFnCJiIKwGjjCcmq9yOma8weiY32 ohCZeOlpP0X+WMH6vh/Ho7S/h9TnN3ihi72OZKFxuj6E+Ro1Z7gsyLFxf9BApw2BOM4w= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tina Ruchandani UUID calculation uses 'struct timespec' whose seconds will overflow in year 2038 and beyond for 32-bit systems. This patch removes the dependency on 'struct timespec' by using ktime_get_real(). While the patch does not fix a 'bug' as such, it is part of a larger effort to remove instances of 'struct timespec' and other data-structures suffering from y2038 problem from the kernel. Suggested-by: Arnd Bergmann Signed-off-by: Tina Ruchandani Signed-off-by: Arnd Bergmann --- fs/afs/main.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/afs/main.c b/fs/afs/main.c index f8188feb03ad..59e7ef38e541 100644 --- a/fs/afs/main.c +++ b/fs/afs/main.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #define CREATE_TRACE_POINTS @@ -39,7 +40,6 @@ struct workqueue_struct *afs_wq; */ static int __init afs_get_client_UUID(void) { - struct timespec ts; u64 uuidtime; u16 clockseq; int ret; @@ -50,9 +50,7 @@ static int __init afs_get_client_UUID(void) if (ret < 0) return ret; - getnstimeofday(&ts); - uuidtime = (u64) ts.tv_sec * 1000 * 1000 * 10; - uuidtime += ts.tv_nsec / 100; + uuidtime = ktime_divns(ktime_get_real(), 100); uuidtime += AFS_UUID_TO_UNIX_TIME; afs_uuid.time_low = uuidtime; afs_uuid.time_mid = uuidtime >> 32; -- 2.9.0