summaryrefslogtreecommitdiff
blob: cedc7a0fa04b00f82f3071c407cc1ec257403ed1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Index: vserver-sources-2.6.16_2.1.1/kernel/vserver/context.c
===================================================================
--- vserver-sources-2.6.16_2.1.1.orig/kernel/vserver/context.c
+++ vserver-sources-2.6.16_2.1.1/kernel/vserver/context.c
@@ -655,12 +655,16 @@ int vx_migrate_task(struct task_struct *
 			__rlim_dec(&old_vxi->limit, RLIMIT_NPROC);
 			/* FIXME: what about the struct files here? */
 			__rlim_sub(&old_vxi->limit, VLIMIT_OPENFD, openfd);
+			/* account for the executable */
+			__rlim_dec(&old_vxi->limit, VLIMIT_DENTRY);
 		}
 		atomic_inc(&vxi->cvirt.nr_threads);
 		atomic_inc(&vxi->cvirt.nr_running);
 		__rlim_inc(&vxi->limit, RLIMIT_NPROC);
 		/* FIXME: what about the struct files here? */
 		__rlim_add(&vxi->limit, VLIMIT_OPENFD, openfd);
+		/* account for the executable */
+		__rlim_inc(&vxi->limit, VLIMIT_DENTRY);
 
 		if (old_vxi) {
 			release_vx_info(old_vxi, p);