With new pledge "ps" and "vminfo" requests, ps/top/w become possible.
authorderaadt <deraadt@openbsd.org>
Fri, 23 Oct 2015 03:26:24 +0000 (03:26 +0000)
committerderaadt <deraadt@openbsd.org>
Fri, 23 Oct 2015 03:26:24 +0000 (03:26 +0000)
bin/ps/ps.c
usr.bin/top/top.c
usr.bin/w/w.c

index 56876ae..396420e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ps.c,v 1.65 2015/06/29 15:03:33 bluhm Exp $   */
+/*     $OpenBSD: ps.c,v 1.66 2015/10/23 03:26:24 deraadt Exp $ */
 /*     $NetBSD: ps.c,v 1.15 1995/05/18 20:33:25 mycroft Exp $  */
 
 /*-
@@ -278,6 +278,9 @@ main(int argc, char *argv[])
        if (kd == NULL)
                errx(1, "%s", errbuf);
 
+       if (pledge("stdio rpath ps", NULL) == -1)
+               err(1, "abort pledge");
+
        if (!fmt) {
                if (showthreads)
                        parsefmt(tfmt);
index aa2f49b..a6d4fca 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: top.c,v 1.83 2015/05/06 07:53:29 mpi Exp $    */
+/*     $OpenBSD: top.c,v 1.84 2015/10/23 03:26:24 deraadt Exp $        */
 
 /*
  *  Top users/processes display for Unix
@@ -328,6 +328,9 @@ main(int argc, char *argv[])
                preset_argc = 0;
        } while (i != 0);
 
+       if (pledge("abort stdio rpath tty ps vminfo", NULL) == -1)
+               err(1, "pledge");
+
        /* set constants for username/uid display correctly */
        if (!do_unames) {
                uname_field = "   UID  ";
index 762566a..596b2b4 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: w.c,v 1.59 2015/08/31 15:49:34 deraadt Exp $  */
+/*     $OpenBSD: w.c,v 1.60 2015/10/23 03:26:24 deraadt Exp $  */
 
 /*-
  * Copyright (c) 1980, 1991, 1993, 1994
@@ -112,6 +112,9 @@ main(int argc, char *argv[])
        char *memf, *nlistf, *p, *x;
        char buf[HOST_NAME_MAX+1], errbuf[_POSIX2_LINE_MAX];
 
+       if (pledge("stdio tty rpath ps vminfo", NULL) == -1)
+               err(1, "pledge");
+
        /* Are we w(1) or uptime(1)? */
        p = __progname;
        if (*p == '-')