Module Name: src
Committed By: elad
Date: Sun May 3 21:25:45 UTC 2009
Modified Files:
src/sys/conf: param.c
src/sys/kern: vfs_init.c
src/sys/secmodel/bsd44: secmodel_bsd44.c secmodel_bsd44_logic.c suser.h
Log Message:
Move dovfsusermount to secmodel_bsd44, where it really belongs.
The secmodel code now creates the same knob in two places: both under the
secmodel itself, as well as the widely known location.
Mailing list references:
http://mail-index.netbsd.org/source-changes/2009/05/02/msg220641.html
http://mail-index.netbsd.org/tech-kern/2009/05/03/msg005015.html
To generate a diff of this commit:
cvs rdiff -u -r1.61 -r1.62 src/sys/conf/param.c
cvs rdiff -u -r1.43 -r1.44 src/sys/kern/vfs_init.c
cvs rdiff -u -r1.11 -r1.12 src/sys/secmodel/bsd44/secmodel_bsd44.c
cvs rdiff -u -r1.4 -r1.5 src/sys/secmodel/bsd44/secmodel_bsd44_logic.c \
src/sys/secmodel/bsd44/suser.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/conf/param.c
diff -u src/sys/conf/param.c:1.61 src/sys/conf/param.c:1.62
--- src/sys/conf/param.c:1.61 Sat May 2 14:13:28 2009
+++ src/sys/conf/param.c Sun May 3 21:25:44 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: param.c,v 1.61 2009/05/02 14:13:28 pooka Exp $ */
+/* $NetBSD: param.c,v 1.62 2009/05/03 21:25:44 elad Exp $ */
/*
* Copyright (c) 1980, 1986, 1989 Regents of the University of California.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: param.c,v 1.61 2009/05/02 14:13:28 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: param.c,v 1.62 2009/05/03 21:25:44 elad Exp $");
#include "opt_hz.h"
#include "opt_rtc_offset.h"
@@ -131,8 +131,6 @@
size_t coherency_unit = ALIGNBYTES + 1;
#endif
-int dovfsusermount = 0;
-
/*
* Various mbuf-related parameters. These can also be changed at run-time
* with sysctl.
Index: src/sys/kern/vfs_init.c
diff -u src/sys/kern/vfs_init.c:1.43 src/sys/kern/vfs_init.c:1.44
--- src/sys/kern/vfs_init.c:1.43 Sat Jan 17 07:02:35 2009
+++ src/sys/kern/vfs_init.c Sun May 3 21:25:44 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: vfs_init.c,v 1.43 2009/01/17 07:02:35 yamt Exp $ */
+/* $NetBSD: vfs_init.c,v 1.44 2009/05/03 21:25:44 elad Exp $ */
/*-
* Copyright (c) 1998, 2000, 2008 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_init.c,v 1.43 2009/01/17 07:02:35 yamt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_init.c,v 1.44 2009/05/03 21:25:44 elad Exp $");
#include <sys/param.h>
#include <sys/mount.h>
@@ -147,7 +147,6 @@
static void
sysctl_vfs_setup(void)
{
- extern int dovfsusermount;
extern int vfs_magiclinks;
sysctl_createv(&vfs_sysctllog, 0, NULL, NULL,
@@ -162,13 +161,6 @@
NULL, 0, NULL, 0,
CTL_VFS, VFS_GENERIC, CTL_EOL);
sysctl_createv(&vfs_sysctllog, 0, NULL, NULL,
- CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
- CTLTYPE_INT, "usermount",
- SYSCTL_DESCR("Whether unprivileged users may mount "
- "filesystems"),
- NULL, 0, &dovfsusermount, 0,
- CTL_VFS, VFS_GENERIC, VFS_USERMOUNT, CTL_EOL);
- sysctl_createv(&vfs_sysctllog, 0, NULL, NULL,
CTLFLAG_PERMANENT,
CTLTYPE_STRING, "fstypes",
SYSCTL_DESCR("List of file systems present"),
Index: src/sys/secmodel/bsd44/secmodel_bsd44.c
diff -u src/sys/secmodel/bsd44/secmodel_bsd44.c:1.11 src/sys/secmodel/bsd44/secmodel_bsd44.c:1.12
--- src/sys/secmodel/bsd44/secmodel_bsd44.c:1.11 Wed Nov 21 22:49:07 2007
+++ src/sys/secmodel/bsd44/secmodel_bsd44.c Sun May 3 21:25:44 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: secmodel_bsd44.c,v 1.11 2007/11/21 22:49:07 elad Exp $ */
+/* $NetBSD: secmodel_bsd44.c,v 1.12 2009/05/03 21:25:44 elad Exp $ */
/*-
* Copyright (c) 2006 Elad Efrat <[email protected]>
* All rights reserved.
@@ -27,13 +27,14 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: secmodel_bsd44.c,v 1.11 2007/11/21 22:49:07 elad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: secmodel_bsd44.c,v 1.12 2009/05/03 21:25:44 elad Exp $");
#include <sys/types.h>
#include <sys/param.h>
#include <sys/kauth.h>
#include <sys/sysctl.h>
+#include <sys/mount.h>
#include <secmodel/secmodel.h>
@@ -92,6 +93,38 @@
"users not owning them."),
NULL, 0, &secmodel_bsd44_curtain, 0,
CTL_CREATE, CTL_EOL);
+
+ sysctl_createv(clog, 0, &rnode, NULL,
+ CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
+ CTLTYPE_INT, "usermount",
+ SYSCTL_DESCR("Whether unprivileged users may mount "
+ "filesystems"),
+ NULL, 0, &dovfsusermount, 0,
+ CTL_CREATE, CTL_EOL);
+
+
+ /*
+ * For compatibility, create the "dovfsusermount" variable in its
+ * original location.
+ */
+ sysctl_createv(clog, 0, NULL, NULL,
+ CTLFLAG_PERMANENT,
+ CTLTYPE_NODE, "vfs", NULL,
+ NULL, 0, NULL, 0,
+ CTL_VFS, CTL_EOL);
+ sysctl_createv(clog, 0, NULL, NULL,
+ CTLFLAG_PERMANENT,
+ CTLTYPE_NODE, "generic",
+ SYSCTL_DESCR("Non-specific vfs related information"),
+ NULL, 0, NULL, 0,
+ CTL_VFS, VFS_GENERIC, CTL_EOL);
+ sysctl_createv(clog, 0, NULL, NULL,
+ CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
+ CTLTYPE_INT, "usermount",
+ SYSCTL_DESCR("Whether unprivileged users may mount "
+ "filesystems"),
+ NULL, 0, &dovfsusermount, 0,
+ CTL_VFS, VFS_GENERIC, VFS_USERMOUNT, CTL_EOL);
}
void
Index: src/sys/secmodel/bsd44/secmodel_bsd44_logic.c
diff -u src/sys/secmodel/bsd44/secmodel_bsd44_logic.c:1.4 src/sys/secmodel/bsd44/secmodel_bsd44_logic.c:1.5
--- src/sys/secmodel/bsd44/secmodel_bsd44_logic.c:1.4 Wed Nov 21 22:49:07 2007
+++ src/sys/secmodel/bsd44/secmodel_bsd44_logic.c Sun May 3 21:25:44 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: secmodel_bsd44_logic.c,v 1.4 2007/11/21 22:49:07 elad Exp $ */
+/* $NetBSD: secmodel_bsd44_logic.c,v 1.5 2009/05/03 21:25:44 elad Exp $ */
/*-
* Copyright (c) 2006 Elad Efrat <[email protected]>
* All rights reserved.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: secmodel_bsd44_logic.c,v 1.4 2007/11/21 22:49:07 elad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: secmodel_bsd44_logic.c,v 1.5 2009/05/03 21:25:44 elad Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -40,6 +40,7 @@
#include <secmodel/securelevel/securelevel.h>
int secmodel_bsd44_curtain;
+int dovfsusermount;
/*
* Initialize the traditional NetBSD security model.
@@ -49,4 +50,5 @@
{
secmodel_securelevel_init();
secmodel_bsd44_curtain = 0;
+ dovfsusermount = 0;
}
Index: src/sys/secmodel/bsd44/suser.h
diff -u src/sys/secmodel/bsd44/suser.h:1.4 src/sys/secmodel/bsd44/suser.h:1.5
--- src/sys/secmodel/bsd44/suser.h:1.4 Tue Jan 9 12:57:56 2007
+++ src/sys/secmodel/bsd44/suser.h Sun May 3 21:25:44 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: suser.h,v 1.4 2007/01/09 12:57:56 elad Exp $ */
+/* $NetBSD: suser.h,v 1.5 2009/05/03 21:25:44 elad Exp $ */
/*-
* Copyright (c) 2006 Elad Efrat <[email protected]>
* All rights reserved.
@@ -30,6 +30,7 @@
#define _SECMODEL_BSD44_SUSER_H_
extern int secmodel_bsd44_curtain;
+extern int dovfsusermount;
void secmodel_bsd44_suser_start(void);