From ae16df6307ed03fe97433cf71aabc1d24db970ec Mon Sep 17 00:00:00 2001 From: Bahadir Balban Date: Wed, 2 Dec 2009 16:27:42 +0200 Subject: [PATCH] Removed CAP_SHARE_ALL and CAP_GRANT_ALL flags. Currently not used. The API for sharing and granting of all capabilities has not settled yet, therefore removed. --- include/l4/api/capability.h | 10 ++++------ src/api/cap.c | 14 ++++++++++---- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/include/l4/api/capability.h b/include/l4/api/capability.h index 229b475..771c411 100644 --- a/include/l4/api/capability.h +++ b/include/l4/api/capability.h @@ -15,18 +15,16 @@ #define CAP_CONTROL_READ 0x00000001 #define CAP_CONTROL_SHARE 0x00000002 #define CAP_CONTROL_GRANT 0x00000003 -#define CAP_CONTROL_REPLICATE 0x00000005 -#define CAP_CONTROL_SPLIT 0x00000006 -#define CAP_CONTROL_DEDUCE 0x00000007 -#define CAP_CONTROL_DESTROY 0x00000008 +#define CAP_CONTROL_REPLICATE 0x00000004 +#define CAP_CONTROL_SPLIT 0x00000005 +#define CAP_CONTROL_DEDUCE 0x00000006 +#define CAP_CONTROL_DESTROY 0x00000007 #define CAP_SHARE_MASK 0x00000003 #define CAP_SHARE_SINGLE 0x00000001 -#define CAP_SHARE_ALL 0x00000002 #define CAP_GRANT_MASK 0x0000000F #define CAP_GRANT_SINGLE 0x00000001 -#define CAP_GRANT_ALL 0x00000002 #define CAP_GRANT_IMMUTABLE 0x00000004 #define CAP_SPLIT_MASK 0x0000000F diff --git a/src/api/cap.c b/src/api/cap.c index b3a76d1..11b7986 100644 --- a/src/api/cap.c +++ b/src/api/cap.c @@ -69,6 +69,7 @@ int cap_share_single(struct capability *user) return 0; } +#if 0 /* Shares the whole list */ int cap_share_all(void) { @@ -76,18 +77,23 @@ int cap_share_all(void) ¤t->space->cap_list); return 0; } +#endif int cap_share(struct capability *cap, unsigned int flags) { if (flags & CAP_SHARE_SINGLE) cap_share_single(cap); - else if (flags & CAP_SHARE_ALL) - cap_share_all(); else return -EINVAL; + return 0; } +#if 0 + +/* + * Currently unused. API hasn't settled. + */ /* Grants all caps */ int cap_grant_all(struct capability *req, unsigned int flags) { @@ -134,6 +140,8 @@ out_err: return err; } +#endif + int cap_grant_single(struct capability *req, unsigned int flags) { struct capability *cap; @@ -176,8 +184,6 @@ int cap_grant(struct capability *cap, unsigned int flags) { if (flags & CAP_GRANT_SINGLE) cap_grant_single(cap, flags); - else if (flags & CAP_GRANT_ALL) - cap_grant_all(cap, flags); else return -EINVAL; return 0;