diff options
Diffstat (limited to 'sys/fs/procfs')
-rw-r--r-- | sys/fs/procfs/procfs.c | 68 | ||||
-rw-r--r-- | sys/fs/procfs/procfs_status.c | 8 |
2 files changed, 36 insertions, 40 deletions
diff --git a/sys/fs/procfs/procfs.c b/sys/fs/procfs/procfs.c index ab60ba47f322..cd66dd6f8b3b 100644 --- a/sys/fs/procfs/procfs.c +++ b/sys/fs/procfs/procfs.c @@ -156,42 +156,42 @@ procfs_init(PFS_INIT_ARGS) root = pi->pi_root; - pfs_create_link(root, "curproc", procfs_docurproc, - NULL, NULL, NULL, 0); - pfs_create_link(root, "self", procfs_docurproc, - NULL, NULL, NULL, 0); - - dir = pfs_create_dir(root, "pid", - procfs_attr_all_rx, NULL, NULL, PFS_PROCDEP); - pfs_create_file(dir, "cmdline", procfs_doproccmdline, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "dbregs", procfs_doprocdbregs, + pfs_create_link(root, NULL, "curproc", procfs_docurproc, NULL, NULL, + NULL, 0); + pfs_create_link(root, NULL, "self", procfs_docurproc, NULL, NULL, NULL, + 0); + + pfs_create_dir(root, &dir, "pid", procfs_attr_all_rx, NULL, NULL, + PFS_PROCDEP); + pfs_create_file(dir, NULL, "cmdline", procfs_doproccmdline, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "dbregs", procfs_doprocdbregs, procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "etype", procfs_doproctype, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "fpregs", procfs_doprocfpregs, + pfs_create_file(dir, NULL, "etype", procfs_doproctype, NULL, NULL, NULL, + PFS_RD); + pfs_create_file(dir, NULL, "fpregs", procfs_doprocfpregs, procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "map", procfs_doprocmap, - NULL, procfs_notsystem, NULL, PFS_RD); - pfs_create_file(dir, "mem", procfs_doprocmem, - procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "note", procfs_doprocnote, - procfs_attr_w, procfs_candebug, NULL, PFS_WR); - pfs_create_file(dir, "notepg", procfs_doprocnote, - procfs_attr_w, procfs_candebug, NULL, PFS_WR); - pfs_create_file(dir, "regs", procfs_doprocregs, - procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "rlimit", procfs_doprocrlimit, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "status", procfs_doprocstatus, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "osrel", procfs_doosrel, - procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR); - - pfs_create_link(dir, "file", procfs_doprocfile, - NULL, procfs_notsystem, NULL, 0); - pfs_create_link(dir, "exe", procfs_doprocfile, - NULL, procfs_notsystem, NULL, 0); + pfs_create_file(dir, NULL, "map", procfs_doprocmap, NULL, + procfs_notsystem, NULL, PFS_RD); + pfs_create_file(dir, NULL, "mem", procfs_doprocmem, procfs_attr_rw, + procfs_candebug, NULL, PFS_RDWR | PFS_RAW); + pfs_create_file(dir, NULL, "note", procfs_doprocnote, procfs_attr_w, + procfs_candebug, NULL, PFS_WR); + pfs_create_file(dir, NULL, "notepg", procfs_doprocnote, procfs_attr_w, + procfs_candebug, NULL, PFS_WR); + pfs_create_file(dir, NULL, "regs", procfs_doprocregs, procfs_attr_rw, + procfs_candebug, NULL, PFS_RDWR | PFS_RAW); + pfs_create_file(dir, NULL, "rlimit", procfs_doprocrlimit, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "status", procfs_doprocstatus, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "osrel", procfs_doosrel, procfs_attr_rw, + procfs_candebug, NULL, PFS_RDWR); + + pfs_create_link(dir, NULL, "file", procfs_doprocfile, NULL, + procfs_notsystem, NULL, 0); + pfs_create_link(dir, NULL, "exe", procfs_doprocfile, NULL, + procfs_notsystem, NULL, 0); return (0); } diff --git a/sys/fs/procfs/procfs_status.c b/sys/fs/procfs/procfs_status.c index 38070e0946bb..49c084d02ff8 100644 --- a/sys/fs/procfs/procfs_status.c +++ b/sys/fs/procfs/procfs_status.c @@ -141,13 +141,9 @@ procfs_doprocstatus(PFS_FILL_ARGS) (u_long)cr->cr_uid, (u_long)cr->cr_ruid, (u_long)cr->cr_rgid); - - /* egid (cr->cr_svgid) is equal to cr_ngroups[0] - see also getegid(2) in /sys/kern/kern_prot.c */ - - for (i = 0; i < cr->cr_ngroups; i++) { + sbuf_printf(sb, ",%lu", (u_long)cr->cr_gid); + for (i = 0; i < cr->cr_ngroups; i++) sbuf_printf(sb, ",%lu", (u_long)cr->cr_groups[i]); - } if (jailed(cr)) { mtx_lock(&cr->cr_prison->pr_mtx); |