Re: ipv6/ip6_fib.c DEBUG question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



   From: "Randy.Dunlap" <rddunlap@osdl.org>
   Date: Tue, 6 May 2003 09:33:21 -0700
   
   What/why this?
   
   #if RT6_DEBUG >= 2
   	if (rt->u.dst.obsolete>0) {
   		BUG_TRAP(fn==NULL || rt->u.dst.obsolete<=0);
   		return -ENOENT;
   	}
   #endif
   
   rt->u.dst.obsolete cannot be both > 0 and <= 0 !?!
   can it?

Correct, let's look at the history of this snippet of
code. :-)

On August 26th, 1998 this happened (this is 2.1.118 vintage :-):

-	fn = fib6_del_1(rt);
-
-	if (fn == NULL)
+#if RT6_DEBUG >= 2
+	if (rt->u.dst.obsolete>0) {
+		BUG_TRAP(rt->u.dst.obsolete>0);
+		return -EFAULT;
+	}
+#endif
+	if (fn == NULL || rt == &ip6_null_entry)
 		return -ENOENT;

The changelog message was "Merge in ANK's bugfixes".

Then on Auguest 20th, 1999 this happened:

@@ -927,7 +926,7 @@
 
 #if RT6_DEBUG >= 2
 	if (rt->u.dst.obsolete>0) {
-		BUG_TRAP(rt->u.dst.obsolete>0);
+		BUG_TRAP(rt->u.dst.obsolete<=0);
 		return -EFAULT;
 	}
 #endif

and the changelog is "Merge in ANK networking jumbo patch"

:-))))

Anyways, yes the <= 0 test is bogus and I've killed it in my
tree.
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux