From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepa Dinamani Subject: [PATCH 09/21] fs: cifs: Replace CURRENT_TIME by get_seconds Date: Wed, 8 Jun 2016 22:04:53 -0700 Message-ID: <1465448705-25055-10-git-send-email-deepa.kernel@gmail.com> References: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: linux-cifs@vger.kernel.org, Arnd Bergmann , y2038@lists.linaro.org, samba-technical@lists.samba.org, Steve French , Al Viro , Thomas Gleixner , Linus Torvalds To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: In-Reply-To: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" List-Id: linux-cifs.vger.kernel.org VGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIGNoYW5nZSB0aGF0IHRyYW5zaXRpb25zCmZp bGVzeXN0ZW0gdGltZXN0YW1wcyB0byB1c2UgNjQgYml0IHRpbWUgYW5kIGhlbmNlIG1ha2UKdGhl bSB5MjAzOCBzYWZlLgoKQ1VSUkVOVF9USU1FIG1hY3JvIHdpbGwgYmUgZGVsZXRlZCBiZWZvcmUg bWVyZ2luZyB0aGUKYWZvcmVtZW50aW9uZWQgcGF0Y2guCgpGaWxlc3lzdGVtcyB3aWxsIHVzZSBj dXJyZW50X2ZzX3RpbWUoKSBpbnN0ZWFkIG9mCkNVUlJFTlRfVElNRS4KVXNlIGdldF9zZWNvbmRz KCkgaGVyZSBhcyB0aGlzIGlzIG5vdCBmaWxlc3lzdGVtIHRpbWUuCk9ubHkgdGhlIHNlY29uZHMg cG9ydGlvbiBvZiB0aGUgdGltZXN0YW1wIGlzIG5lY2Vzc2FyeSBmb3IKdGltZXpvbmUgY2FsY3Vs YXRpb24gdXNpbmcgc2VydmVyIHRpbWUuCgpBc3N1bWUgdGhhdCB0aGUgZGlmZmVyZW5jZSBiZXR3 ZWVuIHNlcnZlciBhbmQgY2xpZW50IHRpbWVzCmxpZSBpbiB0aGUgcmFuZ2UgSU5UX01JTi4uSU5U X01BWC4gVGhpcyBpcyB2YWxpZCBiZWNhdXNlCnRoaXMgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2Vl biBjdXJyZW50IHRpbWVzIGJldHdlZW4gc2VydmVyCmFuZCBjbGllbnQsIGFuZCB0aGUgbGFyZ2Vz dCB0aW1lem9uZSBkaWZmZXJlbmNlIGlzIGluIHRoZQpyYW5nZSBvZiBvbmUgZGF5LgoKQWxsIGNp ZnMgdGltZXN0YW1wcyBjdXJyZW50bHkgdXNlIHRpbWVzcGVjIGludGVybmFsbHkuClRoaXMgdGlt ZXN0YW1wIGNhbiBhbHNvIGJlIHRyYW5zaXRpb25lZCBpbnRvIHVzaW5nCnRpbWVzcGVjNjQgd2hl biBhbGwgb3RoZXIgdGltZXN0YW1wcyBmb3IgY2lmcyBpcyB0cmFuc2l0aW9uZWQKdG8gdXNlIHRp bWVzcGVjNjQuCgpTaWduZWQtb2ZmLWJ5OiBEZWVwYSBEaW5hbWFuaSA8ZGVlcGEua2VybmVsQGdt YWlsLmNvbT4KQ2M6IFN0ZXZlIEZyZW5jaCA8c2ZyZW5jaEBzYW1iYS5vcmc+CkNjOiBsaW51eC1j aWZzQHZnZXIua2VybmVsLm9yZwpDYzogc2FtYmEtdGVjaG5pY2FsQGxpc3RzLnNhbWJhLm9yZwot LS0KIGZzL2NpZnMvY2lmc3NtYi5jIHwgMTAgKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mcy9jaWZzL2NpZnNz bWIuYyBiL2ZzL2NpZnMvY2lmc3NtYi5jCmluZGV4IGQ0NzE5N2UuLmFlYWU2YTAgMTAwNjQ0Ci0t LSBhL2ZzL2NpZnMvY2lmc3NtYi5jCisrKyBiL2ZzL2NpZnMvY2lmc3NtYi5jCkBAIC00NzgsMTQg KzQ3OCwxNCBAQCBkZWNvZGVfbGFubWFuX25lZ3Byb3RfcnNwKHN0cnVjdCBUQ1BfU2VydmVyX0lu Zm8gKnNlcnZlciwgTkVHT1RJQVRFX1JTUCAqcFNNQnIpCiAJCSAqIHRoaXMgcmVxdWlyZW1lbnQu CiAJCSAqLwogCQlpbnQgdmFsLCBzZWNvbmRzLCByZW1haW4sIHJlc3VsdDsKLQkJc3RydWN0IHRp bWVzcGVjIHRzLCB1dGM7Ci0JCXV0YyA9IENVUlJFTlRfVElNRTsKKwkJc3RydWN0IHRpbWVzcGVj IHRzOworCQl1bnNpZ25lZCBsb25nIHV0YyA9IGdldF9zZWNvbmRzKCk7CiAJCXRzID0gY252cnRE b3NVbml4VG0ocnNwLT5TcnZUaW1lLkRhdGUsCiAJCQkJICAgIHJzcC0+U3J2VGltZS5UaW1lLCAw KTsKIAkJY2lmc19kYmcoRllJLCAiU3J2VGltZSAlZCBzZWMgc2luY2UgMTk3MCAodXRjOiAlZCkg ZGlmZjogJWRcbiIsCi0JCQkgKGludCl0cy50dl9zZWMsIChpbnQpdXRjLnR2X3NlYywKLQkJCSAo aW50KSh1dGMudHZfc2VjIC0gdHMudHZfc2VjKSk7Ci0JCXZhbCA9IChpbnQpKHV0Yy50dl9zZWMg LSB0cy50dl9zZWMpOworCQkJIChpbnQpdHMudHZfc2VjLCAoaW50KXV0YywKKwkJCSAoaW50KSh1 dGMgLSB0cy50dl9zZWMpKTsKKwkJdmFsID0gKGludCkodXRjIC0gdHMudHZfc2VjKTsKIAkJc2Vj b25kcyA9IGFicyh2YWwpOwogCQlyZXN1bHQgPSAoc2Vjb25kcyAvIE1JTl9UWl9BREopICogTUlO X1RaX0FESjsKIAkJcmVtYWluID0gc2Vjb25kcyAlIE1JTl9UWl9BREo7Ci0tIAoxLjkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWTIwMzggbWFpbGlu ZyBsaXN0ClkyMDM4QGxpc3RzLmxpbmFyby5vcmcKaHR0cHM6Ly9saXN0cy5saW5hcm8ub3JnL21h aWxtYW4vbGlzdGluZm8veTIwMzgK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Deepa Dinamani To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Thomas Gleixner , Al Viro , Linus Torvalds , y2038@lists.linaro.org, Steve French , linux-cifs@vger.kernel.org, samba-technical@lists.samba.org Subject: [PATCH 09/21] fs: cifs: Replace CURRENT_TIME by get_seconds Date: Wed, 8 Jun 2016 22:04:53 -0700 Message-Id: <1465448705-25055-10-git-send-email-deepa.kernel@gmail.com> In-Reply-To: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com> References: <1465448705-25055-1-git-send-email-deepa.kernel@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: This is in preparation for the change that transitions filesystem timestamps to use 64 bit time and hence make them y2038 safe. CURRENT_TIME macro will be deleted before merging the aforementioned patch. Filesystems will use current_fs_time() instead of CURRENT_TIME. Use get_seconds() here as this is not filesystem time. Only the seconds portion of the timestamp is necessary for timezone calculation using server time. Assume that the difference between server and client times lie in the range INT_MIN..INT_MAX. This is valid because this is the difference between current times between server and client, and the largest timezone difference is in the range of one day. All cifs timestamps currently use timespec internally. This timestamp can also be transitioned into using timespec64 when all other timestamps for cifs is transitioned to use timespec64. Signed-off-by: Deepa Dinamani Cc: Steve French Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org --- fs/cifs/cifssmb.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index d47197e..aeae6a0 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c @@ -478,14 +478,14 @@ decode_lanman_negprot_rsp(struct TCP_Server_Info *server, NEGOTIATE_RSP *pSMBr) * this requirement. */ int val, seconds, remain, result; - struct timespec ts, utc; - utc = CURRENT_TIME; + struct timespec ts; + unsigned long utc = get_seconds(); ts = cnvrtDosUnixTm(rsp->SrvTime.Date, rsp->SrvTime.Time, 0); cifs_dbg(FYI, "SrvTime %d sec since 1970 (utc: %d) diff: %d\n", - (int)ts.tv_sec, (int)utc.tv_sec, - (int)(utc.tv_sec - ts.tv_sec)); - val = (int)(utc.tv_sec - ts.tv_sec); + (int)ts.tv_sec, (int)utc, + (int)(utc - ts.tv_sec)); + val = (int)(utc - ts.tv_sec); seconds = abs(val); result = (seconds / MIN_TZ_ADJ) * MIN_TZ_ADJ; remain = seconds % MIN_TZ_ADJ; -- 1.9.1