ibn_incarnation is a 64-bit value, but using timeval to compute
it will cause an overflow in 2038. This changes it to use
ktime_get_real_ts64() instead.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        char *ifname;
        kib_dev_t *ibdev = NULL;
        kib_net_t *net;
-       struct timeval tv;
+       struct timespec64 tv;
        unsigned long flags;
        int rc;
        int newdev;
        if (net == NULL)
                goto net_failed;
 
-       do_gettimeofday(&tv);
-       net->ibn_incarnation = (((__u64)tv.tv_sec) * 1000000) + tv.tv_usec;
+       ktime_get_real_ts64(&tv);
+       net->ibn_incarnation = tv.tv_sec * USEC_PER_SEC +
+                              tv.tv_nsec / NSEC_PER_USEC;
 
        ni->ni_peertimeout    = *kiblnd_tunables.kib_peertimeout;
        ni->ni_maxtxcredits   = *kiblnd_tunables.kib_credits;