Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Dec 2008 05:28:20 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r186023 - projects/arpv2_merge_1/sys/net
Message-ID:  <200812130528.mBD5SKmZ019695@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Sat Dec 13 05:28:19 2008
New Revision: 186023
URL: http://svn.freebsd.org/changeset/base/186023

Log:
  check lle against both NULL AND -1 to determine validity

Modified:
  projects/arpv2_merge_1/sys/net/if_llatbl.c
  projects/arpv2_merge_1/sys/net/if_llatbl.h

Modified: projects/arpv2_merge_1/sys/net/if_llatbl.c
==============================================================================
--- projects/arpv2_merge_1/sys/net/if_llatbl.c	Sat Dec 13 04:52:57 2008	(r186022)
+++ projects/arpv2_merge_1/sys/net/if_llatbl.c	Sat Dec 13 05:28:19 2008	(r186023)
@@ -255,7 +255,7 @@ lla_rt_output(struct rt_msghdr *rtm, str
 	IF_AFDATA_LOCK(ifp);
 	lle = lla_lookup(llt, flags, dst);
 	IF_AFDATA_UNLOCK(ifp);
-	if (lle != NULL) {
+	if (LLE_IS_VALID(lle)) {
 		if (flags & LLE_CREATE) {
 			/*
 			 * If we delay the delete, then a subsequent

Modified: projects/arpv2_merge_1/sys/net/if_llatbl.h
==============================================================================
--- projects/arpv2_merge_1/sys/net/if_llatbl.h	Sat Dec 13 04:52:57 2008	(r186022)
+++ projects/arpv2_merge_1/sys/net/if_llatbl.h	Sat Dec 13 05:28:19 2008	(r186023)
@@ -83,6 +83,8 @@ struct llentry {
 #define	LLE_LOCK_INIT(lle)	rw_init_flags(&(lle)->lle_lock, "lle", RW_DUPOK)
 #define	LLE_WLOCK_ASSERT(lle)	rw_assert(&(lle)->lle_lock, RA_WLOCKED)
 
+#define LLE_IS_VALID(lle)	(((lle) != NULL) && ((lle) != (void *)-1))
+
 #define	LLE_ADDREF(lle) do {					\
 	LLE_WLOCK_ASSERT(lle);					\
 	KASSERT((lle)->lle_refcnt >= 0,				\



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812130528.mBD5SKmZ019695>