Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Sep 2017 01:12:56 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r449436 - in head/emulators: virtualbox-ose virtualbox-ose-additions virtualbox-ose/files
Message-ID:  <201709080112.v881CuYo045431@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Fri Sep  8 01:12:56 2017
New Revision: 449436
URL: https://svnweb.freebsd.org/changeset/ports/449436

Log:
  - Fix overflow in host memory size calculation.
  - Catch up with PG_CACHE removal on head.
  
  PR:		211432

Added:
  head/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp   (contents, props changed)
Modified:
  head/emulators/virtualbox-ose-additions/Makefile
  head/emulators/virtualbox-ose/Makefile

Modified: head/emulators/virtualbox-ose-additions/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-additions/Makefile	Fri Sep  8 01:02:02 2017	(r449435)
+++ head/emulators/virtualbox-ose-additions/Makefile	Fri Sep  8 01:12:56 2017	(r449436)
@@ -3,6 +3,7 @@
 
 PORTNAME=	virtualbox-ose
 PORTVERSION=	5.1.26
+PORTREVISION=	1
 CATEGORIES=	emulators
 MASTER_SITES=	http://download.virtualbox.org/virtualbox/${PORTVERSION}/
 PKGNAMESUFFIX?=	-additions

Modified: head/emulators/virtualbox-ose/Makefile
==============================================================================
--- head/emulators/virtualbox-ose/Makefile	Fri Sep  8 01:02:02 2017	(r449435)
+++ head/emulators/virtualbox-ose/Makefile	Fri Sep  8 01:12:56 2017	(r449436)
@@ -3,6 +3,7 @@
 
 PORTNAME=	virtualbox-ose
 PORTVERSION=	5.1.26
+PORTREVISION=	1
 CATEGORIES=	emulators
 MASTER_SITES=	http://download.virtualbox.org/virtualbox/${PORTVERSION}/
 DISTFILES=	VirtualBox-${PORTVERSION}${EXTRACT_SUFX} ${GUESTADDITIONS}

Added: head/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp	Fri Sep  8 01:12:56 2017	(r449436)
@@ -0,0 +1,24 @@
+--- src/VBox/Main/src-server/freebsd/PerformanceFreeBSD.cpp.orig	2017-07-27 13:18:27 UTC
++++ src/VBox/Main/src-server/freebsd/PerformanceFreeBSD.cpp
+@@ -80,8 +80,10 @@ int CollectorFreeBSD::getHostMemoryUsage(ULONG *total,
+     cbParameter = sizeof(cPagesMemInactive);
+     if (!sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0))
+         cProcessed++;
++#if __FreeBSD_version < 1200016
+     cbParameter = sizeof(cPagesMemCached);
+     if (!sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0))
++#endif
+         cProcessed++;
+     cbParameter = sizeof(cbPage);
+     if (!sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0))
+@@ -90,8 +92,8 @@ int CollectorFreeBSD::getHostMemoryUsage(ULONG *total,
+     if (cProcessed == 6)
+     {
+         *total     = cbMemPhys / _1K;
+-        *used      = cPagesMemUsed * (cbPage / _1K);
+-        *available = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * (cbPage / _1K);
++        *used      = (uint64_t)cPagesMemUsed * (cbPage / _1K);
++        *available = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * (cbPage / _1K);
+     }
+     else
+         rc = VERR_NOT_SUPPORTED;

Added: head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp	Fri Sep  8 01:12:56 2017	(r449436)
@@ -0,0 +1,39 @@
+--- src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp.orig	2017-07-27 13:18:46 UTC
++++ src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp
+@@ -65,7 +65,6 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb)
+     u_int cPagesMemFree = 0;
+     u_int cPagesMemInactive = 0;
+     u_int cPagesMemCached = 0;
+-    u_int cPagesMemUsed = 0;
+     int cbPage = 0;
+     size_t cbParameter;
+     int cProcessed = 0;
+@@ -73,25 +72,23 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb)
+     cbParameter = sizeof(cPagesMemFree);
+     if (sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0))
+         rc = RTErrConvertFromErrno(errno);
+-    cbParameter = sizeof(cPagesMemUsed);
+-    if (   RT_SUCCESS(rc)
+-        && sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0))
+-        rc = RTErrConvertFromErrno(errno);
+     cbParameter = sizeof(cPagesMemInactive);
+     if (   RT_SUCCESS(rc)
+         && sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0))
+         rc = RTErrConvertFromErrno(errno);
++#if __FreeBSD_version < 1200016
+     cbParameter = sizeof(cPagesMemCached);
+     if (   RT_SUCCESS(rc)
+         && sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0))
+         rc = RTErrConvertFromErrno(errno);
++#endif
+     cbParameter = sizeof(cbPage);
+     if (   RT_SUCCESS(rc)
+         && sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0))
+         rc = RTErrConvertFromErrno(errno);
+ 
+     if (RT_SUCCESS(rc))
+-        *pcb = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * cbPage;
++        *pcb = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * cbPage;
+ 
+     return rc;
+ }



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