From: Julia Lawall <julia@diku.dk> 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 semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include <linux/jiffies.h> @ no_include depends on !include && change_compare_np @ @@ #include <linux/...> + #include <linux/jiffies.h> // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> --- diff -r -u -p a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c --- a/net/ipv4/ip_gre.c 2007-11-01 10:30:44.000000000 +0100 +++ b/net/ipv4/ip_gre.c 2007-12-23 20:44:52.000000000 +0100 @@ -28,6 +28,7 @@ #include <linux/igmp.h> #include <linux/netfilter_ipv4.h> #include <linux/if_ether.h> +#include <linux/jiffies.h> #include <net/sock.h> #include <net/ip.h> @@ -373,7 +374,7 @@ static void ipgre_err(struct sk_buff *sk if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) goto out; - if (jiffies - t->err_time < IPTUNNEL_ERR_TIMEO) + if (time_before(jiffies, t->err_time + IPTUNNEL_ERR_TIMEO)) t->err_count++; else t->err_count = 1; @@ -799,7 +800,8 @@ static int ipgre_tunnel_xmit(struct sk_b #endif if (tunnel->err_count > 0) { - if (jiffies - tunnel->err_time < IPTUNNEL_ERR_TIMEO) { + if (time_before(jiffies, + tunnel->err_time + IPTUNNEL_ERR_TIMEO)) { tunnel->err_count--; dst_link_failure(skb); diff -r -u -p a/net/ipv4/ipip.c b/net/ipv4/ipip.c --- a/net/ipv4/ipip.c 2007-11-01 10:30:44.000000000 +0100 +++ b/net/ipv4/ipip.c 2007-12-23 20:45:06.000000000 +0100 @@ -108,6 +108,7 @@ #include <linux/init.h> #include <linux/netfilter_ipv4.h> #include <linux/if_ether.h> +#include <linux/jiffies.h> #include <net/sock.h> #include <net/ip.h> @@ -317,7 +318,7 @@ static int ipip_err(struct sk_buff *skb, if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) goto out; - if (jiffies - t->err_time < IPTUNNEL_ERR_TIMEO) + if (time_before(jiffies, t->err_time + IPTUNNEL_ERR_TIMEO)) t->err_count++; else t->err_count = 1; @@ -582,7 +583,8 @@ static int ipip_tunnel_xmit(struct sk_bu } if (tunnel->err_count > 0) { - if (jiffies - tunnel->err_time < IPTUNNEL_ERR_TIMEO) { + if (time_before(jiffies, + tunnel->err_time + IPTUNNEL_ERR_TIMEO)) { tunnel->err_count--; dst_link_failure(skb); } else diff -r -u -p a/net/ipv4/ipvs/ip_vs_lblcr.c b/net/ipv4/ipvs/ip_vs_lblcr.c --- a/net/ipv4/ipvs/ip_vs_lblcr.c 2007-12-09 09:35:20.000000000 +0100 +++ b/net/ipv4/ipvs/ip_vs_lblcr.c 2007-12-23 20:45:42.000000000 +0100 @@ -733,7 +733,8 @@ ip_vs_lblcr_schedule(struct ip_vs_servic ip_vs_dest_set_insert(&en->set, dest); } if (atomic_read(&en->set.size) > 1 && - jiffies-en->set.lastmod > sysctl_ip_vs_lblcr_expiration) { + time_after(jiffies, + en->set.lastmod+sysctl_ip_vs_lblcr_expiration)){ struct ip_vs_dest *m; m = ip_vs_dest_set_max(&en->set); if (m) --
| Chuck Ebbert | Why do so many machines need "noapic"? |
| Jesper Juhl | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Joe Perches | Re: [RFC] New kernel-message logging API |
| Ken Chen | [patch] remove artificial software max_loop limit |
git: | |
| walt | [VOTE] git versus mercurial |
| Linus Torvalds | People unaware of the importance of "git gc"? |
| Junio C Hamano | Re: git + ssh + key authentication feature-request |
| Martin Langhoff | Handling large files with GIT |
| Christian Weisgerber | Re: libiconv problem |
| Richard Stallman | Real men don't attack straw men |
| Daniel Ouellet | Show your appreciation and get your 4.2 DVD |
| new_guy | Code signing in OpenBSD |
| David C. Niemi | Re: rsh: "rcmd: socket: Permission denied" |
| Peter MacDonald | demand paging: proposal |
| Peter Grehan | TCP SYN_RECV state: stuck forever in accept() ? |
| Dennis Robinson | Source for uptime, df, ps ? |
