From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2993711AbdDYVY1 (ORCPT ); Tue, 25 Apr 2017 17:24:27 -0400 Received: from mail-oi0-f66.google.com ([209.85.218.66]:36183 "EHLO mail-oi0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1954872AbdDYVXm (ORCPT ); Tue, 25 Apr 2017 17:23:42 -0400 MIME-Version: 1.0 In-Reply-To: References: <1491680267-11171-1-git-send-email-deepa.kernel@gmail.com> <1491680267-11171-3-git-send-email-deepa.kernel@gmail.com> From: Arnd Bergmann Date: Tue, 25 Apr 2017 23:23:41 +0200 X-Google-Sender-Auth: 4XIM0VrIzxLaEeDMUrPbcyo1Ruo Message-ID: Subject: Re: [Y2038] [PATCH v5 2/5] vfs: Add checks for filesystem timestamp limits To: Linus Torvalds Cc: "Theodore Ts'o" , y2038 Mailman List , Linux Kernel Mailing List , "adilger.kernel@dilger.ca" , Deepa Dinamani , linux-fsdevel , Thomas Gleixner , "linux-ext4@vger.kernel.org" , Al Viro 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 Tue, Apr 25, 2017 at 10:35 PM, Linus Torvalds wrote: > On Tue, Apr 25, 2017 at 1:31 PM, Arnd Bergmann wrote: >> >> Would it be ok to have a simple way of removing the time_t definition (e.g. >> by passing '-DREQUIRE_TIME64' to the compiler, but without the Kconfig >> option? That way, someone who wants to ship a product can at least >> find the obvious dependencies on stuff that remains broken. > > How would you find them? > > People don't necessarily use "time_t". They might use "int" or whatever. My main approach has been: * Assume that all of the time_t based interfaces are broken on 32-bit systems (some are not, but almost all are) * For each interface that exposes a time_t to other files, introduce a replacement interface that is known to work * Change users of the old interface over to the new one, one at a time, while manually reviewing all other code this interacts with. Note that the vast majority of all the in-kernel uses of time_t variables actually use timespec or timeval structures because they require sub-second resolution, so we already know that they cannot accidentally get assigned to 'int'. Also, we typically replace them with ktime_t for efficiency. In case we replace a timespec with timespec64, we do have to be careful to ensure that no code just treats the tv_sec member as 'int' or 'long' though. Arnd From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: Re: [PATCH v5 2/5] vfs: Add checks for filesystem timestamp limits Date: Tue, 25 Apr 2017 23:23:41 +0200 Message-ID: References: <1491680267-11171-1-git-send-email-deepa.kernel@gmail.com> <1491680267-11171-3-git-send-email-deepa.kernel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Theodore Ts'o , y2038 Mailman List , Linux Kernel Mailing List , "adilger.kernel@dilger.ca" , Deepa Dinamani , linux-fsdevel , Thomas Gleixner , "linux-ext4@vger.kernel.org" , Al Viro To: Linus Torvalds Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" List-Id: linux-ext4.vger.kernel.org T24gVHVlLCBBcHIgMjUsIDIwMTcgYXQgMTA6MzUgUE0sIExpbnVzIFRvcnZhbGRzCjx0b3J2YWxk c0BsaW51eC1mb3VuZGF0aW9uLm9yZz4gd3JvdGU6Cj4gT24gVHVlLCBBcHIgMjUsIDIwMTcgYXQg MTozMSBQTSwgQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4gd3JvdGU6Cj4+Cj4+IFdvdWxk IGl0IGJlIG9rIHRvIGhhdmUgYSBzaW1wbGUgd2F5IG9mIHJlbW92aW5nIHRoZSB0aW1lX3QgZGVm aW5pdGlvbiAoZS5nLgo+PiBieSBwYXNzaW5nICctRFJFUVVJUkVfVElNRTY0JyB0byB0aGUgY29t cGlsZXIsIGJ1dCB3aXRob3V0IHRoZSBLY29uZmlnCj4+IG9wdGlvbj8gVGhhdCB3YXksIHNvbWVv bmUgd2hvIHdhbnRzIHRvIHNoaXAgYSBwcm9kdWN0IGNhbiBhdCBsZWFzdAo+PiBmaW5kIHRoZSBv YnZpb3VzIGRlcGVuZGVuY2llcyBvbiBzdHVmZiB0aGF0IHJlbWFpbnMgYnJva2VuLgo+Cj4gSG93 IHdvdWxkIHlvdSBmaW5kIHRoZW0/Cj4KPiBQZW9wbGUgZG9uJ3QgbmVjZXNzYXJpbHkgdXNlICJ0 aW1lX3QiLiBUaGV5IG1pZ2h0IHVzZSAiaW50IiBvciB3aGF0ZXZlci4KCk15IG1haW4gYXBwcm9h Y2ggaGFzIGJlZW46CgoqIEFzc3VtZSB0aGF0IGFsbCBvZiB0aGUgdGltZV90IGJhc2VkIGludGVy ZmFjZXMgYXJlIGJyb2tlbiBvbiAzMi1iaXQgc3lzdGVtcwogIChzb21lIGFyZSBub3QsIGJ1dCBh bG1vc3QgYWxsIGFyZSkKCiogRm9yIGVhY2ggaW50ZXJmYWNlIHRoYXQgZXhwb3NlcyBhIHRpbWVf dCB0byBvdGhlciBmaWxlcywgaW50cm9kdWNlIGEKICByZXBsYWNlbWVudCBpbnRlcmZhY2UgdGhh dCBpcyBrbm93biB0byB3b3JrCgoqIENoYW5nZSB1c2VycyBvZiB0aGUgb2xkIGludGVyZmFjZSBv dmVyIHRvIHRoZSBuZXcgb25lLCBvbmUgYXQgYSB0aW1lLAogIHdoaWxlIG1hbnVhbGx5IHJldmll d2luZyBhbGwgb3RoZXIgY29kZSB0aGlzIGludGVyYWN0cyB3aXRoLgoKTm90ZSB0aGF0IHRoZSB2 YXN0IG1ham9yaXR5IG9mIGFsbCB0aGUgaW4ta2VybmVsIHVzZXMgb2YgdGltZV90IHZhcmlhYmxl cwphY3R1YWxseSB1c2UgdGltZXNwZWMgb3IgdGltZXZhbCBzdHJ1Y3R1cmVzIGJlY2F1c2UgdGhl eSByZXF1aXJlCnN1Yi1zZWNvbmQgcmVzb2x1dGlvbiwgc28gd2UgYWxyZWFkeSBrbm93IHRoYXQg dGhleSBjYW5ub3QKYWNjaWRlbnRhbGx5IGdldCBhc3NpZ25lZCB0byAnaW50Jy4gQWxzbywgd2Ug dHlwaWNhbGx5IHJlcGxhY2UgdGhlbSB3aXRoCmt0aW1lX3QgZm9yIGVmZmljaWVuY3kuIEluIGNh c2Ugd2UgcmVwbGFjZSBhIHRpbWVzcGVjIHdpdGggdGltZXNwZWM2NCwKd2UgZG8gaGF2ZSB0byBi ZSBjYXJlZnVsIHRvIGVuc3VyZSB0aGF0IG5vIGNvZGUganVzdCB0cmVhdHMgdGhlCnR2X3NlYyBt ZW1iZXIgYXMgJ2ludCcgb3IgJ2xvbmcnIHRob3VnaC4KCiAgICAgIEFybmQKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWTIwMzggbWFpbGluZyBsaXN0Clky MDM4QGxpc3RzLmxpbmFyby5vcmcKaHR0cHM6Ly9saXN0cy5saW5hcm8ub3JnL21haWxtYW4vbGlz dGluZm8veTIwMzgK