From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756047AbdLOKgI (ORCPT ); Fri, 15 Dec 2017 05:36:08 -0500 Received: from mail-ot0-f195.google.com ([74.125.82.195]:40394 "EHLO mail-ot0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755018AbdLOKgC (ORCPT ); Fri, 15 Dec 2017 05:36:02 -0500 X-Google-Smtp-Source: ACJfBot6lgEFzwzXbxrNpcuVxu+TiitjHEqjjx4EKnVL57t+MNe4tPa+w2GLKzdYE3hOWqTTeHrC3wuoU9ZgDOnB55s= MIME-Version: 1.0 In-Reply-To: <1513296698.18523.291.camel@codethink.co.uk> References: <20171127193037.8711-1-deepa.kernel@gmail.com> <20171127193037.8711-8-deepa.kernel@gmail.com> <1513296698.18523.291.camel@codethink.co.uk> From: Arnd Bergmann Date: Fri, 15 Dec 2017 11:36:01 +0100 X-Google-Sender-Auth: 0wfQT6zj2opeFuMAuohXmLh3nAE Message-ID: Subject: Re: [Y2038] [PATCH v2 07/10] include: Add new y2038 safe __kernel_timespec To: Ben Hutchings Cc: Deepa Dinamani , Thomas Gleixner , John Stultz , y2038 Mailman List , linux-arch , Linux Kernel Mailing List , Albert ARIBAUD , GNU C Library Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 15, 2017 at 1:11 AM, Ben Hutchings wrote: > On Mon, 2017-11-27 at 11:30 -0800, Deepa Dinamani wrote: >> --- a/include/uapi/linux/time.h >> +++ b/include/uapi/linux/time.h >> @@ -42,6 +42,13 @@ struct itimerval { >> > > struct timeval it_value; /* current value */ >> }; >> >> +#ifndef __kernel_timespec >> +struct __kernel_timespec { >> + __kernel_time64_t tv_sec; /* seconds */ >> + long long tv_nsec; /* nanoseconds */ >> +}; >> +#endif > > I wonder if it makes sense to override the alignment of this structure? > (64-bit types are aligned differently on 32-bit vs 64-bit x86, but not > other compat cases.) It might reduce the need for conversions in > compat code elsewhere later. I think the alignment here should be agreed with glibc so they use the same alignment for their new timespec. I don't see a specific mention of this at https://sourceware.org/glibc/wiki/Y2038ProofnessDesign#struct___timespec64 so I'm adding Albert and libc-alpha to Cc for clarification. I agree it would simplify things a bit to ensure that time64_t and __timespec64/__kernel_timespec have a 64-bit alignment even on x86-32, but I don't know if there is precedent for using gcc __attribute__((aligned(8)) on POSIX data types, of if that might cause problems e.g. for non-gnu compilers. Arnd From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: Re: [PATCH v2 07/10] include: Add new y2038 safe __kernel_timespec Date: Fri, 15 Dec 2017 11:36:01 +0100 Message-ID: References: <20171127193037.8711-1-deepa.kernel@gmail.com> <20171127193037.8711-8-deepa.kernel@gmail.com> <1513296698.18523.291.camel@codethink.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1513296698.18523.291.camel@codethink.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" To: Ben Hutchings Cc: linux-arch , GNU C Library , y2038 Mailman List , Linux Kernel Mailing List , Albert ARIBAUD , John Stultz , Deepa Dinamani , Thomas Gleixner List-Id: linux-arch.vger.kernel.org T24gRnJpLCBEZWMgMTUsIDIwMTcgYXQgMToxMSBBTSwgQmVuIEh1dGNoaW5ncwo8YmVuLmh1dGNo aW5nc0Bjb2RldGhpbmsuY28udWs+IHdyb3RlOgo+IE9uIE1vbiwgMjAxNy0xMS0yNyBhdCAxMToz MCAtMDgwMCwgRGVlcGEgRGluYW1hbmkgd3JvdGU6Cj4+IC0tLSBhL2luY2x1ZGUvdWFwaS9saW51 eC90aW1lLmgKPj4gKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3RpbWUuaAo+PiBAQCAtNDIsNiAr NDIsMTMgQEAgc3RydWN0IGl0aW1lcnZhbCB7Cj4+ID4gPiAgIHN0cnVjdCB0aW1ldmFsIGl0X3Zh bHVlOyAgICAgICAgLyogY3VycmVudCB2YWx1ZSAqLwo+PiAgfTsKPj4KPj4gKyNpZm5kZWYgX19r ZXJuZWxfdGltZXNwZWMKPj4gK3N0cnVjdCBfX2tlcm5lbF90aW1lc3BlYyB7Cj4+ICsgICAgIF9f a2VybmVsX3RpbWU2NF90ICAgICAgIHR2X3NlYzsgICAgICAgICAgICAgICAgIC8qIHNlY29uZHMg Ki8KPj4gKyAgICAgbG9uZyBsb25nICAgICAgICAgICAgICAgdHZfbnNlYzsgICAgICAgICAgICAg ICAgLyogbmFub3NlY29uZHMgKi8KPj4gK307Cj4+ICsjZW5kaWYKPgo+IEkgd29uZGVyIGlmIGl0 IG1ha2VzIHNlbnNlIHRvIG92ZXJyaWRlIHRoZSBhbGlnbm1lbnQgb2YgdGhpcyBzdHJ1Y3R1cmU/ Cj4gICg2NC1iaXQgdHlwZXMgYXJlIGFsaWduZWQgZGlmZmVyZW50bHkgb24gMzItYml0IHZzIDY0 LWJpdCB4ODYsIGJ1dCBub3QKPiBvdGhlciBjb21wYXQgY2FzZXMuKSAgSXQgbWlnaHQgcmVkdWNl IHRoZSBuZWVkIGZvciBjb252ZXJzaW9ucyBpbgo+IGNvbXBhdCBjb2RlIGVsc2V3aGVyZSBsYXRl ci4KCkkgdGhpbmsgdGhlIGFsaWdubWVudCBoZXJlIHNob3VsZCBiZSBhZ3JlZWQgd2l0aCBnbGli YyBzbyB0aGV5IHVzZSB0aGUKc2FtZSBhbGlnbm1lbnQgZm9yIHRoZWlyIG5ldyB0aW1lc3BlYy4g SSBkb24ndCBzZWUgYSBzcGVjaWZpYyBtZW50aW9uCm9mIHRoaXMgYXQKaHR0cHM6Ly9zb3VyY2V3 YXJlLm9yZy9nbGliYy93aWtpL1kyMDM4UHJvb2ZuZXNzRGVzaWduI3N0cnVjdF9fX3RpbWVzcGVj NjQKc28gSSdtIGFkZGluZyBBbGJlcnQgYW5kIGxpYmMtYWxwaGEgdG8gQ2MgZm9yIGNsYXJpZmlj YXRpb24uCgpJIGFncmVlIGl0IHdvdWxkIHNpbXBsaWZ5IHRoaW5ncyBhIGJpdCB0byBlbnN1cmUg dGhhdCB0aW1lNjRfdCBhbmQKX190aW1lc3BlYzY0L19fa2VybmVsX3RpbWVzcGVjIGhhdmUgYSA2 NC1iaXQgYWxpZ25tZW50IGV2ZW4gb24KeDg2LTMyLCBidXQgSSBkb24ndCBrbm93IGlmIHRoZXJl IGlzIHByZWNlZGVudCBmb3IgdXNpbmcgZ2NjCl9fYXR0cmlidXRlX18oKGFsaWduZWQoOCkpIG9u IFBPU0lYIGRhdGEgdHlwZXMsIG9mIGlmIHRoYXQgbWlnaHQKY2F1c2UgcHJvYmxlbXMgZS5nLiBm b3Igbm9uLWdudSBjb21waWxlcnMuCgogICAgICAgQXJuZApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpZMjAzOCBtYWlsaW5nIGxpc3QKWTIwMzhAbGlzdHMu bGluYXJvLm9yZwpodHRwczovL2xpc3RzLmxpbmFyby5vcmcvbWFpbG1hbi9saXN0aW5mby95MjAz OAo=