svn commit: r197841 - in head: lib/libc/gen lib/libc/sys sys/sys
Robert Watson
rwatson at FreeBSD.org
Wed Oct 7 20:20:52 UTC 2009
Author: rwatson
Date: Wed Oct 7 20:20:51 2009
New Revision: 197841
URL: http://svn.freebsd.org/changeset/base/197841
Log:
Add a new errno, ENOTCAPABLE, to be returned when a process requests an
operation on a file descriptor that is not authorized by the descriptor's
capability flags.
MFC after: 1 month
Sponsored by: Google
Modified:
head/lib/libc/gen/errlst.c
head/lib/libc/sys/intro.2
head/sys/sys/errno.h
Modified: head/lib/libc/gen/errlst.c
==============================================================================
--- head/lib/libc/gen/errlst.c Wed Oct 7 19:50:14 2009 (r197840)
+++ head/lib/libc/gen/errlst.c Wed Oct 7 20:20:51 2009 (r197841)
@@ -150,5 +150,6 @@ const char *const sys_errlist[] = {
"Multihop attempted", /* 90 - EMULTIHOP */
"Link has been severed", /* 91 - ENOLINK */
"Protocol error", /* 92 - EPROTO */
+ "Capabilities insufficient", /* 93 - ENOTCAPABLE */
};
const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]);
Modified: head/lib/libc/sys/intro.2
==============================================================================
--- head/lib/libc/sys/intro.2 Wed Oct 7 19:50:14 2009 (r197840)
+++ head/lib/libc/sys/intro.2 Wed Oct 7 20:20:51 2009 (r197841)
@@ -456,6 +456,9 @@ The specified extended attribute does no
.It Er 88 EDOOFUS Em "Programming error" .
A function or API is being abused in a way which could only be detected
at run-time.
+.It Er 93 ENOTCAPABLE Em "Capabilities insufficient" .
+An operation on a capability file descriptor requires greater privilege than
+the capability allows.
.El
.Sh DEFINITIONS
.Bl -tag -width Ds
Modified: head/sys/sys/errno.h
==============================================================================
--- head/sys/sys/errno.h Wed Oct 7 19:50:14 2009 (r197840)
+++ head/sys/sys/errno.h Wed Oct 7 20:20:51 2009 (r197841)
@@ -174,7 +174,11 @@ __END_DECLS
#define EPROTO 92 /* Protocol error */
#ifndef _POSIX_SOURCE
-#define ELAST 92 /* Must be equal largest errno */
+#define ENOTCAPABLE 93 /* Capabilities insufficient */
+#endif /* _POSIX_SOURCE */
+
+#ifndef _POSIX_SOURCE
+#define ELAST 93 /* Must be equal largest errno */
#endif /* _POSIX_SOURCE */
#ifdef _KERNEL
More information about the svn-src-head
mailing list