From owner-svn-ports-branches@freebsd.org Mon Aug 21 21:18:52 2017 Return-Path: Delivered-To: svn-ports-branches@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ED8C2DD38B6; Mon, 21 Aug 2017 21:18:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C75CD226E; Mon, 21 Aug 2017 21:18:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7LLIpxF015543; Mon, 21 Aug 2017 21:18:51 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7LLIpH0015541; Mon, 21 Aug 2017 21:18:51 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201708212118.v7LLIpH0015541@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 21 Aug 2017 21:18:51 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r448501 - in branches/2017Q3/emulators/open-vm-tools: . files X-SVN-Group: ports-branches X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in branches/2017Q3/emulators/open-vm-tools: . files X-SVN-Commit-Revision: 448501 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-branches@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for all the branches of the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Aug 2017 21:18:53 -0000 Author: jhb (src,doc committer) Date: Mon Aug 21 21:18:51 2017 New Revision: 448501 URL: https://svnweb.freebsd.org/changeset/ports/448501 Log: MFH: r448159 Don't leak lock from os_kmem_alloc(). The current port patches for os_kmem_alloc() add VM object locking. However, the lock is not unlocked in the success case because the unlock code is inside of an if body instead of after the if statement. Approved by: ports-secteam (feld) Modified: branches/2017Q3/emulators/open-vm-tools/Makefile branches/2017Q3/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c Directory Properties: branches/2017Q3/ (props changed) Modified: branches/2017Q3/emulators/open-vm-tools/Makefile ============================================================================== --- branches/2017Q3/emulators/open-vm-tools/Makefile Mon Aug 21 21:12:26 2017 (r448500) +++ branches/2017Q3/emulators/open-vm-tools/Makefile Mon Aug 21 21:18:51 2017 (r448501) @@ -4,6 +4,7 @@ PORTNAME= open-vm-tools PORTVERSION= ${RELEASE_VER} PORTEPOCH= 2 +PORTREVISION= 1 CATEGORIES= emulators MAINTAINER= swills@FreeBSD.org Modified: branches/2017Q3/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c ============================================================================== --- branches/2017Q3/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c Mon Aug 21 21:12:26 2017 (r448500) +++ branches/2017Q3/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c Mon Aug 21 21:18:51 2017 (r448501) @@ -1,5 +1,5 @@ ---- modules/freebsd/vmmemctl/os.c.orig 2017-02-24 22:15:37 UTC -+++ modules/freebsd/vmmemctl/os.c +--- modules/freebsd/vmmemctl/os.c.orig 2017-02-24 14:15:37.000000000 -0800 ++++ modules/freebsd/vmmemctl/os.c 2017-08-15 13:54:03.813152000 -0700 @@ -37,9 +37,11 @@ #include #include @@ -50,13 +50,10 @@ - if ( !vm_page_lookup(state->vmobject, page->pindex) ) { - return; -- } +// if ( !vm_page_lookup(state->vmobject, page->pindex) ) { +// return; +// } - -- os_pmap_putindex(pmap, page->pindex); -- vm_page_free(page); ++ +// os_pmap_putindex(pmap, page->pindex); +// vm_page_free(page); +#if __FreeBSD_version > 1000029 @@ -77,7 +74,10 @@ +#else + vm_page_unlock_queues(); +#endif -+ } + } +- +- os_pmap_putindex(pmap, page->pindex); +- vm_page_free(page); +#if __FreeBSD_version > 1000029 + VM_OBJECT_WUNLOCK(state->vmobject); +#else @@ -106,18 +106,18 @@ return NULL; } -@@ -504,6 +550,11 @@ os_kmem_alloc(int alloc_normal_failed) / - +@@ -505,6 +551,11 @@ os_kmem_alloc(int alloc_normal_failed) / if (!page) { os_pmap_putindex(pmap, pindex); + } +#if __FreeBSD_version > 1000029 + VM_OBJECT_WUNLOCK(state->vmobject); +#else + VM_OBJECT_UNLOCK(state->vmobject); +#endif - } return page; + } @@ -847,7 +898,7 @@ vmmemctl_sysctl(SYSCTL_HANDLER_ARGS) static void vmmemctl_init_sysctl(void)