Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Feb 2010 22:31:52 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r203456 - projects/capabilities8/tools/tools/syscall_timing
Message-ID:  <201002032231.o13MVqMf027593@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rwatson
Date: Wed Feb  3 22:31:51 2010
New Revision: 203456
URL: http://svn.freebsd.org/changeset/base/203456

Log:
  Merge c174284 from the TrustedBSD Capabilities p4 branch to capabilities8:
  
    Micro-benchmarks for chroot() and setuid().
  
  Sponsored by:	Google, Inc.

Modified:
  projects/capabilities8/tools/tools/syscall_timing/syscall_timing.c

Modified: projects/capabilities8/tools/tools/syscall_timing/syscall_timing.c
==============================================================================
--- projects/capabilities8/tools/tools/syscall_timing/syscall_timing.c	Wed Feb  3 22:20:57 2010	(r203455)
+++ projects/capabilities8/tools/tools/syscall_timing/syscall_timing.c	Wed Feb  3 22:31:51 2010	(r203456)
@@ -565,6 +565,38 @@ test_pdfork_exec(int num)
 	benchmark_stop();
 }
 
+void
+test_chroot(int num)
+{
+	int i;
+
+	if (chroot("/") < 0)
+		err(-1, "test_chroot: chroot");
+	benchmark_start();
+	for (i = 0; i < num; i++) {
+		if (chroot("/") < 0)
+			err(-1, "test_chroot: chroot");
+	}
+	benchmark_stop();
+}
+
+void
+test_setuid(int num)
+{
+	uid_t uid;
+	int i;
+
+	uid = getuid();
+	if (setuid(uid) < 0)
+		err(-1, "test_setuid: setuid");
+	benchmark_start();
+	for (i = 0; i < num; i++) {
+		if (setuid(uid) < 0)
+			err(-1, "test_setuid: setuid");
+	}
+	benchmark_stop();
+}
+
 /*
  * A bit like sandbox, in that a process is forked, IPC ping-pong is done,
  * but with none of the sandboxing goo.
@@ -773,6 +805,8 @@ static const struct test tests[] = {
 	{ "fork_exec", test_fork_exec },
 	{ "vfork_exec", test_vfork_exec },
 	{ "pdfork_exec", test_pdfork_exec },
+	{ "chroot", test_chroot },
+	{ "setuid", test_setuid },
 	{ "pingpong", test_pingpong },
 	{ "sandbox", test_sandbox },
 };



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002032231.o13MVqMf027593>