• D
    net: ipv4: Fix truncated timestamp returned by inet_current_timestamp() · 3ba9d300
    Deepa Dinamani 提交于
    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: NDeepa Dinamani <deepa.kernel@gmail.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
    Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
    Cc: James Morris <jmorris@namei.org>
    Cc: Patrick McHardy <kaber@trash.net>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Fixes: 822c8685 ("net: ipv4: Convert IP network timestamps to be y2038 safe")
    Reported-by: Fengguang Wu <fengguang.wu@intel.com> [0-day test robot]
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    3ba9d300
af_inet.c 45.7 KB