Module Name:    src
Committed By:   christos
Date:           Sun Dec 31 03:02:23 UTC 2017

Modified Files:
        src/sys/miscfs/procfs: procfs.h procfs_cmdline.c procfs_subr.c
            procfs_vfsops.c procfs_vnops.c

Log Message:
Add an environ node


To generate a diff of this commit:
cvs rdiff -u -r1.72 -r1.73 src/sys/miscfs/procfs/procfs.h
cvs rdiff -u -r1.28 -r1.29 src/sys/miscfs/procfs/procfs_cmdline.c
cvs rdiff -u -r1.109 -r1.110 src/sys/miscfs/procfs/procfs_subr.c
cvs rdiff -u -r1.98 -r1.99 src/sys/miscfs/procfs/procfs_vfsops.c
cvs rdiff -u -r1.201 -r1.202 src/sys/miscfs/procfs/procfs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/miscfs/procfs/procfs.h
diff -u src/sys/miscfs/procfs/procfs.h:1.72 src/sys/miscfs/procfs/procfs.h:1.73
--- src/sys/miscfs/procfs/procfs.h:1.72	Sun Aug 27 20:46:07 2017
+++ src/sys/miscfs/procfs/procfs.h	Sat Dec 30 22:02:23 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: procfs.h,v 1.72 2017/08/28 00:46:07 kamil Exp $	*/
+/*	$NetBSD: procfs.h,v 1.73 2017/12/31 03:02:23 christos Exp $	*/
 
 /*
  * Copyright (c) 1993
@@ -94,6 +94,7 @@ typedef enum {
 	PFSnotepg,	/* process group notifier */
 	PFSmap,		/* memory map */
 	PFScmdline,	/* process command line args */
+	PFSenviron,	/* process environment */
 	PFSmeminfo,	/* system memory info (if -o linux) */
 	PFScpuinfo,	/* CPU info (if -o linux) */
 	PFSmaps,	/* memory map, Linux style (if -o linux) */
@@ -208,7 +209,7 @@ int procfs_dostatus(struct lwp *, struct
 int procfs_domap(struct lwp *, struct proc *, struct pfsnode *,
     struct uio *, int);
 int procfs_docmdline(struct lwp *, struct proc *, struct pfsnode *,
-    struct uio *);
+    struct uio *, int);
 int procfs_domeminfo(struct lwp *, struct proc *, struct pfsnode *,
     struct uio *);
 int procfs_dodevices(struct lwp *, struct proc *, struct pfsnode *,

Index: src/sys/miscfs/procfs/procfs_cmdline.c
diff -u src/sys/miscfs/procfs/procfs_cmdline.c:1.28 src/sys/miscfs/procfs/procfs_cmdline.c:1.29
--- src/sys/miscfs/procfs/procfs_cmdline.c:1.28	Fri Mar  4 17:25:32 2011
+++ src/sys/miscfs/procfs/procfs_cmdline.c	Sat Dec 30 22:02:23 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: procfs_cmdline.c,v 1.28 2011/03/04 22:25:32 joerg Exp $	*/
+/*	$NetBSD: procfs_cmdline.c,v 1.29 2017/12/31 03:02:23 christos Exp $	*/
 
 /*
  * Copyright (c) 1999 Jaromir Dolecek <[email protected]>
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: procfs_cmdline.c,v 1.28 2011/03/04 22:25:32 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: procfs_cmdline.c,v 1.29 2017/12/31 03:02:23 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -65,7 +65,8 @@ procfs_docmdline(
     struct lwp *curl,
     struct proc *p,
     struct pfsnode *pfs,
-    struct uio *uio
+    struct uio *uio,
+    int oid
 )
 {
 	size_t len, start;
@@ -104,7 +105,7 @@ procfs_docmdline(
 
 	len = uio->uio_offset + uio->uio_resid;
 
-	error = copy_procargs(p, KERN_PROC_ARGV, &len,
+	error = copy_procargs(p, oid, &len,
 	    procfs_docmdline_helper, uio);
 	return error;
 }

Index: src/sys/miscfs/procfs/procfs_subr.c
diff -u src/sys/miscfs/procfs/procfs_subr.c:1.109 src/sys/miscfs/procfs/procfs_subr.c:1.110
--- src/sys/miscfs/procfs/procfs_subr.c:1.109	Sun Aug 27 20:46:07 2017
+++ src/sys/miscfs/procfs/procfs_subr.c	Sat Dec 30 22:02:23 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: procfs_subr.c,v 1.109 2017/08/28 00:46:07 kamil Exp $	*/
+/*	$NetBSD: procfs_subr.c,v 1.110 2017/12/31 03:02:23 christos Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -102,7 +102,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: procfs_subr.c,v 1.109 2017/08/28 00:46:07 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: procfs_subr.c,v 1.110 2017/12/31 03:02:23 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -114,6 +114,7 @@ __KERNEL_RCSID(0, "$NetBSD: procfs_subr.
 #include <sys/file.h>
 #include <sys/filedesc.h>
 #include <sys/kauth.h>
+#include <sys/sysctl.h>
 
 #include <miscfs/procfs/procfs.h>
 
@@ -221,7 +222,11 @@ procfs_rw(void *v)
 		break;
 
 	case PFScmdline:
-		error = procfs_docmdline(curl, p, pfs, uio);
+		error = procfs_docmdline(curl, p, pfs, uio, KERN_PROC_ARGV);
+		break;
+
+	case PFSenviron:
+		error = procfs_docmdline(curl, p, pfs, uio, KERN_PROC_ENV);
 		break;
 
 	case PFSmeminfo:

Index: src/sys/miscfs/procfs/procfs_vfsops.c
diff -u src/sys/miscfs/procfs/procfs_vfsops.c:1.98 src/sys/miscfs/procfs/procfs_vfsops.c:1.99
--- src/sys/miscfs/procfs/procfs_vfsops.c:1.98	Sun Aug 27 20:46:07 2017
+++ src/sys/miscfs/procfs/procfs_vfsops.c	Sat Dec 30 22:02:23 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: procfs_vfsops.c,v 1.98 2017/08/28 00:46:07 kamil Exp $	*/
+/*	$NetBSD: procfs_vfsops.c,v 1.99 2017/12/31 03:02:23 christos Exp $	*/
 
 /*
  * Copyright (c) 1993
@@ -76,7 +76,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: procfs_vfsops.c,v 1.98 2017/08/28 00:46:07 kamil Exp $");
+__KERNEL_RCSID(0, "$NetBSD: procfs_vfsops.c,v 1.99 2017/12/31 03:02:23 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -395,6 +395,7 @@ procfs_loadvnode(struct mount *mp, struc
 	case PFSstatus:		/* /proc/N/status = -r--r--r-- */
 	case PFSstat:		/* /proc/N/stat = -r--r--r-- */
 	case PFScmdline:	/* /proc/N/cmdline = -r--r--r-- */
+	case PFSenviron:	/* /proc/N/cmdline = -r--r--r-- */
 	case PFSemul:		/* /proc/N/emul = -r--r--r-- */
 	case PFSmeminfo:	/* /proc/meminfo = -r--r--r-- */
 	case PFScpustat:	/* /proc/stat = -r--r--r-- */

Index: src/sys/miscfs/procfs/procfs_vnops.c
diff -u src/sys/miscfs/procfs/procfs_vnops.c:1.201 src/sys/miscfs/procfs/procfs_vnops.c:1.202
--- src/sys/miscfs/procfs/procfs_vnops.c:1.201	Fri Dec  1 14:01:34 2017
+++ src/sys/miscfs/procfs/procfs_vnops.c	Sat Dec 30 22:02:23 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: procfs_vnops.c,v 1.201 2017/12/01 19:01:34 christos Exp $	*/
+/*	$NetBSD: procfs_vnops.c,v 1.202 2017/12/31 03:02:23 christos Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -105,7 +105,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.201 2017/12/01 19:01:34 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.202 2017/12/31 03:02:23 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -171,6 +171,7 @@ static const struct proc_target {
 	{ DT_REG, N("map"),	PFSmap,		procfs_validmap },
 	{ DT_REG, N("maps"),	PFSmaps,	procfs_validmap },
 	{ DT_REG, N("cmdline"), PFScmdline,	NULL },
+	{ DT_REG, N("environ"), PFSenviron,	NULL },
 	{ DT_REG, N("exe"),	PFSexe,		procfs_validfile },
 	{ DT_LNK, N("cwd"),	PFScwd,		NULL },
 	{ DT_LNK, N("root"),	PFSchroot,	NULL },
@@ -728,6 +729,7 @@ procfs_getattr(void *v)
 	case PFSnote:
 	case PFSnotepg:
 	case PFScmdline:
+	case PFSenviron:
 	case PFSemul:
 	case PFSstatm:
 
@@ -860,6 +862,7 @@ procfs_getattr(void *v)
 	case PFSnote:
 	case PFSnotepg:
 	case PFScmdline:
+	case PFSenviron:
 	case PFSmeminfo:
 	case PFSdevices:
 	case PFScpuinfo:

Reply via email to