diff options
author | rwatson <rwatson@FreeBSD.org> | 2009-10-07 20:20:51 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2009-10-07 20:20:51 +0000 |
commit | 466473bd42ba80f3f034125e0ef293a188554e34 (patch) | |
tree | 3b198a14c8bbf3d806889bfa7f6f66dcc96e4223 | |
parent | 34ccb44d0ed0e6c442dc7b882d20c137bcf2a306 (diff) | |
download | FreeBSD-src-466473bd42ba80f3f034125e0ef293a188554e34.zip FreeBSD-src-466473bd42ba80f3f034125e0ef293a188554e34.tar.gz |
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
-rw-r--r-- | lib/libc/gen/errlst.c | 1 | ||||
-rw-r--r-- | lib/libc/sys/intro.2 | 3 | ||||
-rw-r--r-- | sys/sys/errno.h | 6 |
3 files changed, 9 insertions, 1 deletions
diff --git a/lib/libc/gen/errlst.c b/lib/libc/gen/errlst.c index bc3e0c9..db6bfa2 100644 --- a/lib/libc/gen/errlst.c +++ b/lib/libc/gen/errlst.c @@ -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]); diff --git a/lib/libc/sys/intro.2 b/lib/libc/sys/intro.2 index 1c01c39..b75e52c 100644 --- a/lib/libc/sys/intro.2 +++ b/lib/libc/sys/intro.2 @@ -456,6 +456,9 @@ The specified extended attribute does not exist. .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 diff --git a/sys/sys/errno.h b/sys/sys/errno.h index 77b5f67..1fceb00 100644 --- a/sys/sys/errno.h +++ b/sys/sys/errno.h @@ -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 |