diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-05-11 12:59:32 +0200 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-05-11 12:59:37 +0200 | 
| commit | 7961386fe9596e6bf03d09948a73c5df9653325b (patch) | |
| tree | 60fa2586a0d340ef8f7473956eef17430d8250c7 /include/linux/capability.h | |
| parent | aa47b7e0f89b9998dad4d1667447e8cb7703ff4e (diff) | |
| parent | 091bf7624d1c90cec9e578a18529f615213ff847 (diff) | |
| download | olio-linux-3.10-7961386fe9596e6bf03d09948a73c5df9653325b.tar.xz olio-linux-3.10-7961386fe9596e6bf03d09948a73c5df9653325b.zip  | |
Merge commit 'v2.6.30-rc5' into sched/core
Merge reason: sched/core was on .30-rc1 before, update to latest fixes
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/capability.h')
| -rw-r--r-- | include/linux/capability.h | 23 | 
1 files changed, 19 insertions, 4 deletions
diff --git a/include/linux/capability.h b/include/linux/capability.h index 4864a43b2b4..c3021105edc 100644 --- a/include/linux/capability.h +++ b/include/linux/capability.h @@ -377,7 +377,21 @@ struct cpu_vfs_cap_data {  #define CAP_FOR_EACH_U32(__capi)  \  	for (__capi = 0; __capi < _KERNEL_CAPABILITY_U32S; ++__capi) +/* + * CAP_FS_MASK and CAP_NFSD_MASKS: + * + * The fs mask is all the privileges that fsuid==0 historically meant. + * At one time in the past, that included CAP_MKNOD and CAP_LINUX_IMMUTABLE. + * + * It has never meant setting security.* and trusted.* xattrs. + * + * We could also define fsmask as follows: + *   1. CAP_FS_MASK is the privilege to bypass all fs-related DAC permissions + *   2. The security.* and trusted.* xattrs are fs-related MAC permissions + */ +  # define CAP_FS_MASK_B0     (CAP_TO_MASK(CAP_CHOWN)		\ +			    | CAP_TO_MASK(CAP_MKNOD)		\  			    | CAP_TO_MASK(CAP_DAC_OVERRIDE)	\  			    | CAP_TO_MASK(CAP_DAC_READ_SEARCH)	\  			    | CAP_TO_MASK(CAP_FOWNER)		\ @@ -392,11 +406,12 @@ struct cpu_vfs_cap_data {  # define CAP_EMPTY_SET    ((kernel_cap_t){{ 0, 0 }})  # define CAP_FULL_SET     ((kernel_cap_t){{ ~0, ~0 }})  # define CAP_INIT_EFF_SET ((kernel_cap_t){{ ~CAP_TO_MASK(CAP_SETPCAP), ~0 }}) -# define CAP_FS_SET       ((kernel_cap_t){{ CAP_FS_MASK_B0, CAP_FS_MASK_B1 } }) +# define CAP_FS_SET       ((kernel_cap_t){{ CAP_FS_MASK_B0 \ +				    | CAP_TO_MASK(CAP_LINUX_IMMUTABLE), \ +				    CAP_FS_MASK_B1 } })  # define CAP_NFSD_SET     ((kernel_cap_t){{ CAP_FS_MASK_B0 \ -					    | CAP_TO_MASK(CAP_SYS_RESOURCE) \ -					    | CAP_TO_MASK(CAP_MKNOD), \ -					    CAP_FS_MASK_B1 } }) +				    | CAP_TO_MASK(CAP_SYS_RESOURCE), \ +				    CAP_FS_MASK_B1 } })  #endif /* _KERNEL_CAPABILITY_U32S != 2 */  |