Skip to contentSkip to conversation

ipt_hashlimit.c: expire's type overflow when showing tuples at bad moment.

PATCH In review Samuel Jean 1 participant 1 message Jan 27, 2005 netfilter

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 ipt_hashlimit.c: expire's type overflow when showing tuples at bad moment.

Name: Expire's type overflow when showing tuples at bad moment.
Status: Tested under Linux 2.6.10

When garbage collector runs slow enough, we have a chance to print expired tuples before they get freed. We see weird expiry time.

This patch just prints 0 if expiry is less than or equal to current jiffie.

Please disregard my previous patch.

ipv4/netfilter/ipt_hashlimit.c 2005-01-26 22:22:07.000000000 -0500 renamed from ipv4/netfilter/ipt_hashlimit.c.orig 2005-01-26 22:17:54.000000000 -0500 +2 -2
@@ -608,8 +608,8 @@ static inline int dl_seq_real_show(struc
   /* recalculate to show accurate numbers */
   rateinfo_recalc(ent, jiffies);
 
-  return seq_printf(s, "%ld %u.%u.%u.%u:%u->%u.%u.%u.%u:%u %u %u %u\n",
-        (ent->expires - jiffies)/HZ,
+  return seq_printf(s, "%lu %u.%u.%u.%u:%u->%u.%u.%u.%u:%u %u %u %u\n",
+        (ent->expires > jiffies) ? (ent->expires - jiffies)/HZ : 0,
         NIPQUAD(ent->dst.src_ip), ntohs(ent->dst.src_port),
         NIPQUAD(ent->dst.dst_ip), ntohs(ent->dst.dst_port),
         ent->rateinfo.credit, ent->rateinfo.credit_cap,