inet_diag: use jiffies_delta_to_msecs()
[linux-2.6-block.git] / net / ipv4 / inet_diag.c
index bbb005eb5218c2765567b1d14ef564d2332479cc..af154977904c0c249e77e425990a09c62cca4251 100644 (file)
@@ -193,7 +193,7 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk,
        if (ext & (1 << (INET_DIAG_MEMINFO - 1))) {
                struct inet_diag_meminfo minfo = {
                        .idiag_rmem = sk_rmem_alloc_get(sk),
-                       .idiag_wmem = sk->sk_wmem_queued,
+                       .idiag_wmem = READ_ONCE(sk->sk_wmem_queued),
                        .idiag_fmem = sk->sk_forward_alloc,
                        .idiag_tmem = sk_wmem_alloc_get(sk),
                };
@@ -226,17 +226,17 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk,
                r->idiag_timer = 1;
                r->idiag_retrans = icsk->icsk_retransmits;
                r->idiag_expires =
-                       jiffies_to_msecs(icsk->icsk_timeout - jiffies);
+                       jiffies_delta_to_msecs(icsk->icsk_timeout - jiffies);
        } else if (icsk->icsk_pending == ICSK_TIME_PROBE0) {
                r->idiag_timer = 4;
                r->idiag_retrans = icsk->icsk_probes_out;
                r->idiag_expires =
-                       jiffies_to_msecs(icsk->icsk_timeout - jiffies);
+                       jiffies_delta_to_msecs(icsk->icsk_timeout - jiffies);
        } else if (timer_pending(&sk->sk_timer)) {
                r->idiag_timer = 2;
                r->idiag_retrans = icsk->icsk_probes_out;
                r->idiag_expires =
-                       jiffies_to_msecs(sk->sk_timer.expires - jiffies);
+                       jiffies_delta_to_msecs(sk->sk_timer.expires - jiffies);
        } else {
                r->idiag_timer = 0;
                r->idiag_expires = 0;
@@ -342,16 +342,13 @@ static int inet_twsk_diag_fill(struct sock *sk,
        r = nlmsg_data(nlh);
        BUG_ON(tw->tw_state != TCP_TIME_WAIT);
 
-       tmo = tw->tw_timer.expires - jiffies;
-       if (tmo < 0)
-               tmo = 0;
-
        inet_diag_msg_common_fill(r, sk);
        r->idiag_retrans      = 0;
 
        r->idiag_state        = tw->tw_substate;
        r->idiag_timer        = 3;
-       r->idiag_expires      = jiffies_to_msecs(tmo);
+       tmo = tw->tw_timer.expires - jiffies;
+       r->idiag_expires      = jiffies_delta_to_msecs(tmo);
        r->idiag_rqueue       = 0;
        r->idiag_wqueue       = 0;
        r->idiag_uid          = 0;
@@ -385,7 +382,7 @@ static int inet_req_diag_fill(struct sock *sk, struct sk_buff *skb,
                     offsetof(struct sock, sk_cookie));
 
        tmo = inet_reqsk(sk)->rsk_timer.expires - jiffies;
-       r->idiag_expires = (tmo >= 0) ? jiffies_to_msecs(tmo) : 0;
+       r->idiag_expires = jiffies_delta_to_msecs(tmo);
        r->idiag_rqueue = 0;
        r->idiag_wqueue = 0;
        r->idiag_uid    = 0;