From owner-svn-src-all@FreeBSD.ORG Sun Jun 7 01:06:58 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96B70106564A; Sun, 7 Jun 2009 01:06:58 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 84A568FC0A; Sun, 7 Jun 2009 01:06:58 +0000 (UTC) (envelope-from rmacklem@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 n5716vnh077203; Sun, 7 Jun 2009 01:06:57 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5716v1N077202; Sun, 7 Jun 2009 01:06:57 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <200906070106.n5716v1N077202@svn.freebsd.org> From: Rick Macklem Date: Sun, 7 Jun 2009 01:06:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193603 - head/sys/rpc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 01:06:59 -0000 Author: rmacklem Date: Sun Jun 7 01:06:56 2009 New Revision: 193603 URL: http://svn.freebsd.org/changeset/base/193603 Log: Fix a lockorder reversal I introduced in r193436 when I moved the mtx_destroy() of the pool mutex to after SVC_RELEASE(), because the pool mutex was still locked when soclose() was called by svc_dg_destroy(). To fix this, an mtx_unlock() was added where mtx_destroy() was before r193436. Reviewed by: jhb Tested by: pho Approved by: rwatson (mentor) Modified: head/sys/rpc/svc.c Modified: head/sys/rpc/svc.c ============================================================================== --- head/sys/rpc/svc.c Sun Jun 7 01:02:33 2009 (r193602) +++ head/sys/rpc/svc.c Sun Jun 7 01:06:56 2009 (r193603) @@ -174,6 +174,7 @@ svcpool_destroy(SVCPOOL *pool) svc_unreg(pool, s->sc_prog, s->sc_vers); mtx_lock(&pool->sp_lock); } + mtx_unlock(&pool->sp_lock); TAILQ_FOREACH_SAFE(xprt, &cleanup, xp_link, nxprt) { SVC_RELEASE(xprt);