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]
/
kernel
/
vserver
/
limit.c
diff --git
a/kernel/vserver/limit.c
b/kernel/vserver/limit.c
index
4af1ee5
..
0527afc
100644
(file)
--- a/
kernel/vserver/limit.c
+++ b/
kernel/vserver/limit.c
@@
-3,7
+3,7
@@
*
* Virtual Server: Context Limits
*
*
* Virtual Server: Context Limits
*
- * Copyright (C) 2004 Herbert Pötzl
+ * Copyright (C) 2004
-2005
Herbert Pötzl
*
* V0.01 broken out from vcontext V0.05
*
*
* V0.01 broken out from vcontext V0.05
*
@@
-11,12
+11,11
@@
#include <linux/config.h>
#include <linux/module.h>
#include <linux/config.h>
#include <linux/module.h>
-#include <linux/vserver/limit.h>
-#include <linux/vserver/context.h>
-#include <linux/vserver/switch.h>
-#include <linux/vs_base.h>
#include <linux/vs_context.h>
#include <linux/vs_limit.h>
#include <linux/vs_context.h>
#include <linux/vs_limit.h>
+#include <linux/vserver/limit.h>
+#include <linux/vserver/switch.h>
+#include <linux/vserver/limit_cmd.h>
#include <asm/errno.h>
#include <asm/uaccess.h>
#include <asm/errno.h>
#include <asm/uaccess.h>
@@
-26,12
+25,17
@@
const char *vlimit_name[NUM_LIMITS] = {
[RLIMIT_CPU] = "CPU",
[RLIMIT_RSS] = "RSS",
[RLIMIT_NPROC] = "NPROC",
[RLIMIT_CPU] = "CPU",
[RLIMIT_RSS] = "RSS",
[RLIMIT_NPROC] = "NPROC",
- [RLIMIT_NOFILE] = "NOFILE",
+ [RLIMIT_NOFILE]
= "NOFILE",
[RLIMIT_MEMLOCK] = "VML",
[RLIMIT_AS] = "VM",
[RLIMIT_LOCKS] = "LOCKS",
[RLIMIT_MEMLOCK] = "VML",
[RLIMIT_AS] = "VM",
[RLIMIT_LOCKS] = "LOCKS",
+ [RLIMIT_SIGPENDING] = "SIGP",
[RLIMIT_MSGQUEUE] = "MSGQ",
[RLIMIT_MSGQUEUE] = "MSGQ",
+
[VLIMIT_NSOCK] = "NSOCK",
[VLIMIT_NSOCK] = "NSOCK",
+ [VLIMIT_OPENFD] = "OPENFD",
+ [VLIMIT_ANON] = "ANON",
+ [VLIMIT_SHMEM] = "SHMEM",
};
EXPORT_SYMBOL_GPL(vlimit_name);
};
EXPORT_SYMBOL_GPL(vlimit_name);
@@
-42,11
+46,16
@@
static int is_valid_rlimit(int id)
int valid = 0;
switch (id) {
int valid = 0;
switch (id) {
- case RLIMIT_NPROC:
- case RLIMIT_AS:
case RLIMIT_RSS:
case RLIMIT_RSS:
- case RLIMIT_
MEMLOCK
:
+ case RLIMIT_
NPROC
:
case RLIMIT_NOFILE:
case RLIMIT_NOFILE:
+ case RLIMIT_MEMLOCK:
+ case RLIMIT_AS:
+
+ case VLIMIT_NSOCK:
+ case VLIMIT_OPENFD:
+ case VLIMIT_ANON:
+ case VLIMIT_SHMEM:
valid = 1;
break;
}
valid = 1;
break;
}
@@
-118,11
+127,14
@@
int vc_get_rlimit_mask(uint32_t id, void __user *data)
, /* softlimit */
0
, /* maximum */
, /* softlimit */
0
, /* maximum */
+ (1 << RLIMIT_RSS) |
(1 << RLIMIT_NPROC) |
(1 << RLIMIT_NOFILE) |
(1 << RLIMIT_MEMLOCK) |
(1 << RLIMIT_NPROC) |
(1 << RLIMIT_NOFILE) |
(1 << RLIMIT_MEMLOCK) |
+ (1 << RLIMIT_LOCKS) |
(1 << RLIMIT_AS) |
(1 << RLIMIT_AS) |
- (1 << RLIMIT_RSS)
+ (1 << VLIMIT_ANON) |
+ 0
};
if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SYS_RESOURCE))
};
if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SYS_RESOURCE))