svn commit: r203456 -
projects/capabilities8/tools/tools/syscall_timing
Robert Watson
rwatson at FreeBSD.org
Wed Feb 3 22:31:52 UTC 2010
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 },
};
More information about the svn-src-projects
mailing list