git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
include
/
linux
/
vs_base.h
diff --git
a/include/linux/vs_base.h
b/include/linux/vs_base.h
index
ed23add
..
a1d34b6
100644
(file)
--- a/
include/linux/vs_base.h
+++ b/
include/linux/vs_base.h
@@
-1,6
+1,7
@@
#ifndef _VX_VS_BASE_H
#define _VX_VS_BASE_H
#ifndef _VX_VS_BASE_H
#define _VX_VS_BASE_H
+
#include "vserver/context.h"
#include "vserver/context.h"
@@
-17,7
+18,7
@@
* check current context for ADMIN/WATCH and
* optionally agains supplied argument
*/
* check current context for ADMIN/WATCH and
* optionally agains supplied argument
*/
-static
__inline__
int __vx_check(xid_t cid, xid_t id, unsigned int mode)
+static
inline
int __vx_check(xid_t cid, xid_t id, unsigned int mode)
{
if (mode & VX_ARG_MASK) {
if ((mode & VX_IDENT) &&
{
if (mode & VX_ARG_MASK) {
if ((mode & VX_IDENT) &&
@@
-34,7
+35,8
@@
static __inline__ int __vx_check(xid_t cid, xid_t id, unsigned int mode)
return 1;
}
return (((mode & VX_ADMIN) && (cid == 0)) ||
return 1;
}
return (((mode & VX_ADMIN) && (cid == 0)) ||
- ((mode & VX_WATCH) && (cid == 1)));
+ ((mode & VX_WATCH) && (cid == 1)) ||
+ ((mode & VX_HOSTID) && (id == 0)));
}
}
@@
-51,6
+53,8
@@
static __inline__ int __vx_check(xid_t cid, xid_t id, unsigned int mode)
#define vx_mask_mask(v,f,m) (((v) & ~(m)) | ((v) & (f) & (m)))
#define vx_mask_mask(v,f,m) (((v) & ~(m)) | ((v) & (f) & (m)))
+#define vx_check_bit(v,n) ((v) & (1LL << (n)))
+
/* context flags */
/* context flags */
@@
-78,6
+82,13
@@
static __inline__ int __vx_check(xid_t cid, xid_t id, unsigned int mode)
#define vx_ccaps(c) vx_info_ccaps(current->vx_info,(c))
#define vx_ccaps(c) vx_info_ccaps(current->vx_info,(c))
+#define __vx_mcaps(v) ((v) ? (v)->vx_ccaps >> 32UL : ~0 )
+
+#define vx_info_mcaps(v,c) (__vx_mcaps(v) & (c))
+
+#define vx_mcaps(c) vx_info_mcaps(current->vx_info,(c))
+
+
#define vx_current_bcaps() \
(((current->vx_info) && !vx_flags(VXF_STATE_SETUP, 0)) ? \
current->vx_info->vx_bcaps : cap_bset)
#define vx_current_bcaps() \
(((current->vx_info) && !vx_flags(VXF_STATE_SETUP, 0)) ? \
current->vx_info->vx_bcaps : cap_bset)
@@
-88,4
+99,6
@@
static __inline__ int __vx_check(xid_t cid, xid_t id, unsigned int mode)
(current->vx_info->vx_initpid == (n)))
(current->vx_info->vx_initpid == (n)))
+#else
+#warning duplicate inclusion
#endif
#endif