From owner-svn-src-projects@FreeBSD.ORG Sat Dec 13 08:32:13 2008 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5FA04106564A; Sat, 13 Dec 2008 08:32:13 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4FD038FC08; Sat, 13 Dec 2008 08:32:13 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id mBD8WDfm023514; Sat, 13 Dec 2008 08:32:13 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id mBD8WD2P023512; Sat, 13 Dec 2008 08:32:13 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200812130832.mBD8WD2P023512@svn.freebsd.org> From: Kip Macy Date: Sat, 13 Dec 2008 08:32:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r186033 - in projects/arpv2_merge_1/sys: net netinet6 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Dec 2008 08:32:13 -0000 Author: kmacy Date: Sat Dec 13 08:32:13 2008 New Revision: 186033 URL: http://svn.freebsd.org/changeset/base/186033 Log: updating locking interface to llentry_free Modified: projects/arpv2_merge_1/sys/net/if_llatbl.c projects/arpv2_merge_1/sys/netinet6/nd6.c Modified: projects/arpv2_merge_1/sys/net/if_llatbl.c ============================================================================== --- projects/arpv2_merge_1/sys/net/if_llatbl.c Sat Dec 13 08:31:32 2008 (r186032) +++ projects/arpv2_merge_1/sys/net/if_llatbl.c Sat Dec 13 08:32:13 2008 (r186033) @@ -92,8 +92,8 @@ done: void llentry_free(struct llentry *lle) { - - LLE_WLOCK(lle); + + LLE_WLOCK_ASSERT(lle); LIST_REMOVE(lle, lle_next); if (lle->la_hold != NULL) @@ -121,7 +121,9 @@ lltable_free(struct lltable *llt) for (i=0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) { + callout_drain(&lle->la_timer); + LLE_WLOCK(lle); llentry_free(lle); } } Modified: projects/arpv2_merge_1/sys/netinet6/nd6.c ============================================================================== --- projects/arpv2_merge_1/sys/netinet6/nd6.c Sat Dec 13 08:31:32 2008 (r186032) +++ projects/arpv2_merge_1/sys/netinet6/nd6.c Sat Dec 13 08:32:13 2008 (r186033) @@ -1094,6 +1094,7 @@ nd6_free(struct llentry *ln, int gc) ifp = ln->lle_tbl->llt_ifp; IF_AFDATA_LOCK(ifp); + LLE_WLOCK(ln); llentry_free(ln); IF_AFDATA_UNLOCK(ifp);