Module Name: src
Committed By: drochner
Date: Sun Feb 21 13:17:51 UTC 2010
Modified Files:
src/share/man/man4: options.4
src/share/man/man7: sysctl.7
src/sys/uvm: files.uvm uvm_map.c
Log Message:
rename the va0_disabled option and cpp conditional to "disable" as well,
for consistency, and document option and sysctl flag
To generate a diff of this commit:
cvs rdiff -u -r1.382 -r1.383 src/share/man/man4/options.4
cvs rdiff -u -r1.30 -r1.31 src/share/man/man7/sysctl.7
cvs rdiff -u -r1.17 -r1.18 src/sys/uvm/files.uvm
cvs rdiff -u -r1.289 -r1.290 src/sys/uvm/uvm_map.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/man/man4/options.4
diff -u src/share/man/man4/options.4:1.382 src/share/man/man4/options.4:1.383
--- src/share/man/man4/options.4:1.382 Sat Dec 5 20:11:02 2009
+++ src/share/man/man4/options.4 Sun Feb 21 13:17:51 2010
@@ -1,4 +1,4 @@
-.\" $NetBSD: options.4,v 1.382 2009/12/05 20:11:02 pooka Exp $
+.\" $NetBSD: options.4,v 1.383 2010/02/21 13:17:51 drochner Exp $
.\"
.\" Copyright (c) 1996
.\" Perry E. Metzger. All rights reserved.
@@ -2310,6 +2310,11 @@
See
.Xr security 8
for more details.
+.It Cd options USER_VA0_DISABLE_DEFAULT=value
+Sets the initial value of the flag which controls whether user programs
+can map virtual address 0.
+The flag can be changed at runtime by
+.Xr sysctl 3 .
.El
.Ss amiga-specific Options
.Bl -ohang
Index: src/share/man/man7/sysctl.7
diff -u src/share/man/man7/sysctl.7:1.30 src/share/man/man7/sysctl.7:1.31
--- src/share/man/man7/sysctl.7:1.30 Sat Jan 9 17:28:06 2010
+++ src/share/man/man7/sysctl.7 Sun Feb 21 13:17:51 2010
@@ -1,4 +1,4 @@
-.\" $NetBSD: sysctl.7,v 1.30 2010/01/09 17:28:06 snj Exp $
+.\" $NetBSD: sysctl.7,v 1.31 2010/02/21 13:17:51 drochner Exp $
.\"
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
@@ -1953,6 +1953,8 @@
Return system wide virtual memory statistics.
The returned data consists of a
.Va struct vmtotal .
+.It vm.user_va0_disable
+A flag which controls whether user processes can map virtual address 0.
.It Li vm.uspace ( VM_USPACE )
The number of bytes allocated for each kernel stack.
.It Li vm.uvmexp ( VM_UVMEXP )
Index: src/sys/uvm/files.uvm
diff -u src/sys/uvm/files.uvm:1.17 src/sys/uvm/files.uvm:1.18
--- src/sys/uvm/files.uvm:1.17 Thu Feb 18 14:57:01 2010
+++ src/sys/uvm/files.uvm Sun Feb 21 13:17:50 2010
@@ -1,4 +1,4 @@
-# $NetBSD: files.uvm,v 1.17 2010/02/18 14:57:01 drochner Exp $
+# $NetBSD: files.uvm,v 1.18 2010/02/21 13:17:50 drochner Exp $
#
# UVM options
@@ -10,7 +10,7 @@
defflag opt_ubc.h UBC_STATS
defparam opt_pagermap.h PAGER_MAP_SIZE
defflag PDPOLICY_CLOCKPRO
-defparam USER_VA0_DISABLED_DEFAULT
+defparam USER_VA0_DISABLE_DEFAULT
file uvm/uvm_amap.c
file uvm/uvm_anon.c
Index: src/sys/uvm/uvm_map.c
diff -u src/sys/uvm/uvm_map.c:1.289 src/sys/uvm/uvm_map.c:1.290
--- src/sys/uvm/uvm_map.c:1.289 Sat Feb 20 13:21:58 2010
+++ src/sys/uvm/uvm_map.c Sun Feb 21 13:17:50 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_map.c,v 1.289 2010/02/20 13:21:58 drochner Exp $ */
+/* $NetBSD: uvm_map.c,v 1.290 2010/02/21 13:17:50 drochner Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -71,7 +71,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_map.c,v 1.289 2010/02/20 13:21:58 drochner Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_map.c,v 1.290 2010/02/21 13:17:50 drochner Exp $");
#include "opt_ddb.h"
#include "opt_uvmhist.h"
@@ -92,7 +92,7 @@
#ifndef __USER_VA0_IS_SAFE
#include <sys/sysctl.h>
#include <sys/kauth.h>
-#include "opt_user_va0_disabled_default.h"
+#include "opt_user_va0_disable_default.h"
#endif
#ifdef SYSVSHM
@@ -174,14 +174,14 @@
#endif
#ifndef __USER_VA0_IS_SAFE
-#ifndef __USER_VA0_DISABLED_DEFAULT
-#define __USER_VA0_DISABLED_DEFAULT 1
+#ifndef __USER_VA0_DISABLE_DEFAULT
+#define __USER_VA0_DISABLE_DEFAULT 1
#endif
-#ifdef USER_VA0_DISABLED_DEFAULT /* kernel config option overrides */
-#undef __USER_VA0_DISABLED_DEFAULT
-#define __USER_VA0_DISABLED_DEFAULT USER_VA0_DISABLED_DEFAULT
+#ifdef USER_VA0_DISABLE_DEFAULT /* kernel config option overrides */
+#undef __USER_VA0_DISABLE_DEFAULT
+#define __USER_VA0_DISABLE_DEFAULT USER_VA0_DISABLE_DEFAULT
#endif
-static int user_va0_disabled = __USER_VA0_DISABLED_DEFAULT;
+static int user_va0_disable = __USER_VA0_DISABLE_DEFAULT;
#endif
/*
@@ -1192,7 +1192,7 @@
#ifndef __USER_VA0_IS_SAFE
if ((flags & UVM_FLAG_FIXED) && *startp == 0 &&
- !VM_MAP_IS_KERNEL(map) && user_va0_disabled)
+ !VM_MAP_IS_KERNEL(map) && user_va0_disable)
return EACCES;
#endif
@@ -5240,26 +5240,26 @@
#ifndef __USER_VA0_IS_SAFE
static int
-sysctl_user_va0_disabled(SYSCTLFN_ARGS)
+sysctl_user_va0_disable(SYSCTLFN_ARGS)
{
struct sysctlnode node;
int t, error;
node = *rnode;
node.sysctl_data = &t;
- t = user_va0_disabled;
+ t = user_va0_disable;
error = sysctl_lookup(SYSCTLFN_CALL(&node));
if (error || newp == NULL)
return (error);
/* lower only at securelevel < 1 */
- if (!t && user_va0_disabled &&
+ if (!t && user_va0_disable &&
kauth_authorize_system(l->l_cred,
KAUTH_SYSTEM_CHSYSFLAGS /* XXX */, 0,
NULL, NULL, NULL))
return EPERM;
- user_va0_disabled = !!t;
+ user_va0_disable = !!t;
return 0;
}
@@ -5270,7 +5270,7 @@
CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
CTLTYPE_INT, "user_va0_disable",
SYSCTL_DESCR("Disable VA 0"),
- sysctl_user_va0_disabled, 0, &user_va0_disabled, 0,
+ sysctl_user_va0_disable, 0, &user_va0_disable, 0,
CTL_VM, CTL_CREATE, CTL_EOL);
}
#endif