--- linux/net/ipv4/inetpeer.c.orig 2006-12-12 05:25:42.000000000 +0100 +++ linux-ed/net/ipv4/inetpeer.c 2006-12-12 05:29:22.000000000 +0100 @@ -338,8 +338,7 @@ static int cleanup_once(unsigned long tt spin_lock_bh(&inet_peer_unused_lock); p = inet_peer_unused_head; if (p != NULL) { - __u32 delta = (__u32)jiffies - p->dtime; - if (delta < ttl) { + if (time_after32(p->dtime + ttl, jiffies_32)) { /* Do not prune fresh entries. */ spin_unlock_bh(&inet_peer_unused_lock); return -1; @@ -466,7 +465,7 @@ void inet_putpeer(struct inet_peer *p) p->unused_next = NULL; *inet_peer_unused_tailp = p; inet_peer_unused_tailp = &p->unused_next; - p->dtime = (__u32)jiffies; + p->dtime = jiffies_32; } spin_unlock_bh(&inet_peer_unused_lock); }