dn_dev: Use time_before
authorHimangi Saraogi <himangi774@gmail.com>
Wed, 20 Aug 2014 17:43:07 +0000 (23:13 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 Aug 2014 19:23:11 +0000 (12:23 -0700)
The functions time_before, time_before_eq, time_after, and time_after_eq
are more robust for comparing jiffies against other values.

A simplified version of the Coccinelle semantic patch making this change
is as follows:

@change@
expression E1,E2;
@@

(
- (jiffies - E1) < E2
+ time_before(jiffies, E1+E2)
)

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/decnet/dn_dev.c

index 3b726f3..4400da7 100644 (file)
@@ -41,6 +41,7 @@
 #include <linux/sysctl.h>
 #include <linux/notifier.h>
 #include <linux/slab.h>
+#include <linux/jiffies.h>
 #include <asm/uaccess.h>
 #include <net/net_namespace.h>
 #include <net/neighbour.h>
@@ -875,7 +876,7 @@ static void dn_send_endnode_hello(struct net_device *dev, struct dn_ifaddr *ifa)
 static int dn_am_i_a_router(struct dn_neigh *dn, struct dn_dev *dn_db, struct dn_ifaddr *ifa)
 {
        /* First check time since device went up */
-       if ((jiffies - dn_db->uptime) < DRDELAY)
+       if (time_before(jiffies, dn_db->uptime + DRDELAY))
                return 0;
 
        /* If there is no router, then yes... */