From patchwork Tue Mar 22 00:41:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Deepa Dinamani X-Patchwork-Id: 600378 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3qTYnL3DzZz9s3T for ; Tue, 22 Mar 2016 11:42:30 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=NlUzFFO/; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757485AbcCVAm2 (ORCPT ); Mon, 21 Mar 2016 20:42:28 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:35323 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753444AbcCVAm0 (ORCPT ); Mon, 21 Mar 2016 20:42:26 -0400 Received: by mail-pf0-f193.google.com with SMTP id u190so32841284pfb.2 for ; Mon, 21 Mar 2016 17:42:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=LTErg05AaAK6INWBwLEw0sGEMOS98zfQE7sZplXtgpI=; b=NlUzFFO/BujhQpwC/22CQaZ8ptVyqkSwljCvzMkQTy0Yg8hY8K8ULiyWmc79hEzWN2 Pnsri6gqPhM/pDCHZHBMLY64vX/IDmwwAVqVy8NPfvVDaKI71Nb0x2z6qI2/QjwRjBmy yUkkKHqNzNXpQrMfH1uCFRXr3IjE0IsQcm/FB6zoBnrw0cPa8lN0/XWQ6TWckMq2+Otu 22FB5n+tKok+7hFU3NQpwaskA2U2TLpdq/buXQMicQ6siDBOYUAAcDDANXEp/3LERye8 RyU6NfCRms4ZLppuc+CbhMLMSpmO0wO/pzmuxUNF2/woU69K8rAfUHNTcyIOsX0R/fuO oSkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=LTErg05AaAK6INWBwLEw0sGEMOS98zfQE7sZplXtgpI=; b=kFtQhJrl+klKxVRdeBNrQiBZyRJbBI89trV68MQtSyaj68WxMVH28HnqXCVYEP2lYu 7SrFuVUpiaHiOdsmrkgYLlROkEwRWqaCEW+9TyEyELFu7iVzpxSVc/YzpwcpI1q8vV9c VhEuVwKpnkcwQBcGtrIFgC27qPABBUw/mIZ8QyZQ4GzUdRnQvCMl4RmjCvYAvxlcXLlm oG+Ny/UlmQOA6GK4s6gRyHGlp+94UBcHsEcIlVa/iLjaAmrGxsfqIwKWyCusKXSpi0e5 tKkG7r5PvzPrJyNzZAkwy3UvbZvWS35jtbsvcGNK/2gUoJ24EHnMsp0fCQzozq+9EUWJ C56w== X-Gm-Message-State: AD7BkJKDndWf1bC3BAwzBMmYvTVX/0GM2JGW2xqXMqYyipP59qA0XVRqnQ0uxk1QuTCfCg== X-Received: by 10.67.23.161 with SMTP id ib1mr48077584pad.156.1458607345778; Mon, 21 Mar 2016 17:42:25 -0700 (PDT) Received: from deepa-ubuntu.hsd1.ca.comcast.net (c-73-252-251-201.hsd1.ca.comcast.net. [73.252.251.201]) by smtp.gmail.com with ESMTPSA id dg1sm43432997pad.18.2016.03.21.17.42.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 21 Mar 2016 17:42:25 -0700 (PDT) From: Deepa Dinamani To: y2038@list.linaro.org, netdev@vger.kernel.org Cc: "David S. Miller" , Alexey Kuznetsov , Hideaki YOSHIFUJI , James Morris , Patrick McHardy , Arnd Bergmann Subject: [PATCH 1/1] net: ipv4: Fix truncated timestamp returned by inet_current_timestamp() Date: Mon, 21 Mar 2016 17:41:11 -0700 Message-Id: <1458607271-6984-1-git-send-email-deepa.kernel@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The millisecond timestamps returned by the function is converted to network byte order by making a call to htons(). htons() only returns __be16 while __be32 is required here. This was identified by the sparse warning from the buildbot: net/ipv4/af_inet.c:1405:16: sparse: incorrect type in return expression (different base types) net/ipv4/af_inet.c:1405:16: expected restricted __be32 net/ipv4/af_inet.c:1405:16: got restricted __be16 [usertype] Change the function to use htonl() to return the correct __be32 type instead so that the millisecond value doesn't get truncated. Signed-off-by: Deepa Dinamani Cc: "David S. Miller" Cc: Alexey Kuznetsov Cc: Hideaki YOSHIFUJI Cc: James Morris Cc: Patrick McHardy Cc: Arnd Bergmann Fixes: 822c868532ca ("net: ipv4: Convert IP network timestamps to be y2038 safe") Reported-by: Fengguang Wu [0-day test robot] --- net/ipv4/af_inet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 0cc923f..5fab7e3 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c @@ -1402,7 +1402,7 @@ __be32 inet_current_timestamp(void) msecs += (u32)ts.tv_nsec / NSEC_PER_MSEC; /* Convert to network byte order. */ - return htons(msecs); + return htonl(msecs); } EXPORT_SYMBOL(inet_current_timestamp);