lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <1458609686-7435-1-git-send-email-deepa.kernel@gmail.com> Date: Mon, 21 Mar 2016 18:21:26 -0700 From: Deepa Dinamani <deepa.kernel@...il.com> To: netdev@...r.kernel.org, y2038@...ts.linaro.org Cc: "David S. Miller" <davem@...emloft.net>, Alexey Kuznetsov <kuznet@....inr.ac.ru>, Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>, James Morris <jmorris@...ei.org>, Patrick McHardy <kaber@...sh.net>, Arnd Bergmann <arnd@...db.de> Subject: [PATCH RESEND] net: ipv4: Fix truncated timestamp returned by inet_current_timestamp() 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] <noident> 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 <deepa.kernel@...il.com> Cc: "David S. Miller" <davem@...emloft.net> Cc: Alexey Kuznetsov <kuznet@....inr.ac.ru> Cc: Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org> Cc: James Morris <jmorris@...ei.org> Cc: Patrick McHardy <kaber@...sh.net> Cc: Arnd Bergmann <arnd@...db.de> Fixes: 822c868532ca ("net: ipv4: Convert IP network timestamps to be y2038 safe") Reported-by: Fengguang Wu <fengguang.wu@...el.com> [0-day test robot] --- Fixed the y2038 list email address. 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); -- 1.9.1
Powered by blists - more mailing lists