Module Name: src
Committed By: martin
Date: Wed Feb 26 20:49:27 UTC 2014
Modified Files:
src/tests/lib/libc/sys: t_mlock.c
Log Message:
Remove hardcoded VM_MIN_ADDRESS and instead query current value via
sysctl vm.minaddress.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/tests/lib/libc/sys/t_mlock.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/lib/libc/sys/t_mlock.c
diff -u src/tests/lib/libc/sys/t_mlock.c:1.4 src/tests/lib/libc/sys/t_mlock.c:1.5
--- src/tests/lib/libc/sys/t_mlock.c:1.4 Sat Sep 8 12:25:05 2012
+++ src/tests/lib/libc/sys/t_mlock.c Wed Feb 26 20:49:26 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: t_mlock.c,v 1.4 2012/09/08 12:25:05 martin Exp $ */
+/* $NetBSD: t_mlock.c,v 1.5 2014/02/26 20:49:26 martin Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -29,13 +29,12 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: t_mlock.c,v 1.4 2012/09/08 12:25:05 martin Exp $");
+__RCSID("$NetBSD: t_mlock.c,v 1.5 2014/02/26 20:49:26 martin Exp $");
#include <sys/mman.h>
#include <sys/resource.h>
+#include <sys/sysctl.h>
#include <sys/wait.h>
-#define _KMEMUSER
-#include <machine/vmparam.h>
#include <errno.h>
#include <atf-c.h>
@@ -80,13 +79,16 @@ ATF_TC_HEAD(mlock_err, tc)
ATF_TC_BODY(mlock_err, tc)
{
+ unsigned long vmin = 0;
+ size_t len = sizeof(vmin);
void *invalid_ptr;
int null_errno = ENOMEM; /* error expected for NULL */
-#ifdef VM_MIN_ADDRESS
- if ((uintptr_t)VM_MIN_ADDRESS > 0)
+ if (sysctlbyname("vm.minaddress", &vmin, &len, NULL, 0) != 0)
+ atf_tc_fail("failed to read vm.minaddress");
+
+ if (vmin > 0)
null_errno = EINVAL; /* NULL is not inside user VM */
-#endif
errno = 0;
ATF_REQUIRE_ERRNO(null_errno, mlock(NULL, page) == -1);