]> git.pld-linux.org Git - packages/kernel.git/blame - kernel-vserver-2.3.patch
- up to 2.6.31.3
[packages/kernel.git] / kernel-vserver-2.3.patch
CommitLineData
4a036bed
AM
1diff -NurpP --minimal linux-2.6.31.2/arch/alpha/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/Kconfig
2--- linux-2.6.31.2/arch/alpha/Kconfig 2009-03-24 14:18:07.000000000 +0100
3+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 4@@ -666,6 +666,8 @@ config DUMMY_CONSOLE
2380c486
JR
5 depends on VGA_HOSE
6 default y
d337f35e
JR
7
8+source "kernel/vserver/Kconfig"
9+
10 source "security/Kconfig"
11
12 source "crypto/Kconfig"
4a036bed
AM
13diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/entry.S linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/entry.S
14--- linux-2.6.31.2/arch/alpha/kernel/entry.S 2009-06-11 17:11:46.000000000 +0200
15+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/entry.S 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 16@@ -874,24 +874,15 @@ sys_getxgid:
d337f35e
JR
17 .globl sys_getxpid
18 .ent sys_getxpid
19 sys_getxpid:
20+ lda $sp, -16($sp)
21+ stq $26, 0($sp)
22 .prologue 0
23- ldq $2, TI_TASK($8)
24
25- /* See linux/kernel/timer.c sys_getppid for discussion
26- about this loop. */
27- ldq $3, TASK_GROUP_LEADER($2)
28- ldq $4, TASK_REAL_PARENT($3)
29- ldl $0, TASK_TGID($2)
30-1: ldl $1, TASK_TGID($4)
31-#ifdef CONFIG_SMP
32- mov $4, $5
33- mb
34- ldq $3, TASK_GROUP_LEADER($2)
35- ldq $4, TASK_REAL_PARENT($3)
36- cmpeq $4, $5, $5
37- beq $5, 1b
38-#endif
39- stq $1, 80($sp)
40+ lda $16, 96($sp)
41+ jsr $26, do_getxpid
42+ ldq $26, 0($sp)
43+
44+ lda $sp, 16($sp)
45 ret
46 .end sys_getxpid
47
4a036bed
AM
48diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/osf_sys.c linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/osf_sys.c
49--- linux-2.6.31.2/arch/alpha/kernel/osf_sys.c 2009-09-10 15:25:14.000000000 +0200
50+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/osf_sys.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 51@@ -872,7 +872,7 @@ SYSCALL_DEFINE2(osf_gettimeofday, struct
d337f35e
JR
52 {
53 if (tv) {
54 struct timeval ktv;
55- do_gettimeofday(&ktv);
56+ vx_gettimeofday(&ktv);
57 if (put_tv32(tv, &ktv))
58 return -EFAULT;
59 }
4a036bed
AM
60diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/ptrace.c
61--- linux-2.6.31.2/arch/alpha/kernel/ptrace.c 2009-09-10 15:25:14.000000000 +0200
62+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/ptrace.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 63@@ -14,6 +14,7 @@
d337f35e
JR
64 #include <linux/slab.h>
65 #include <linux/security.h>
66 #include <linux/signal.h>
67+#include <linux/vs_base.h>
68
69 #include <asm/uaccess.h>
70 #include <asm/pgtable.h>
4a036bed
AM
71diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/systbls.S linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/systbls.S
72--- linux-2.6.31.2/arch/alpha/kernel/systbls.S 2009-03-24 14:18:08.000000000 +0100
73+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/systbls.S 2009-09-10 16:11:43.000000000 +0200
d337f35e
JR
74@@ -446,7 +446,7 @@ sys_call_table:
75 .quad sys_stat64 /* 425 */
76 .quad sys_lstat64
77 .quad sys_fstat64
78- .quad sys_ni_syscall /* sys_vserver */
79+ .quad sys_vserver /* sys_vserver */
80 .quad sys_ni_syscall /* sys_mbind */
81 .quad sys_ni_syscall /* sys_get_mempolicy */
82 .quad sys_ni_syscall /* sys_set_mempolicy */
4a036bed
AM
83diff -NurpP --minimal linux-2.6.31.2/arch/alpha/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/traps.c
84--- linux-2.6.31.2/arch/alpha/kernel/traps.c 2009-06-11 17:11:46.000000000 +0200
85+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
2380c486 86@@ -183,7 +183,8 @@ die_if_kernel(char * str, struct pt_regs
d337f35e
JR
87 #ifdef CONFIG_SMP
88 printk("CPU %d ", hard_smp_processor_id());
89 #endif
2380c486 90- printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err);
d337f35e 91+ printk("%s(%d[#%u]): %s %ld\n", current->comm,
2380c486 92+ task_pid_nr(current), current->xid, str, err);
d337f35e 93 dik_show_regs(regs, r9_15);
2380c486 94 add_taint(TAINT_DIE);
d337f35e 95 dik_show_trace((unsigned long *)(regs+1));
4a036bed
AM
96diff -NurpP --minimal linux-2.6.31.2/arch/alpha/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/mm/fault.c
97--- linux-2.6.31.2/arch/alpha/mm/fault.c 2009-09-10 15:25:14.000000000 +0200
98+++ linux-2.6.31.2-vs2.3.0.36.15/arch/alpha/mm/fault.c 2009-09-10 16:11:43.000000000 +0200
2380c486
JR
99@@ -193,8 +193,8 @@ do_page_fault(unsigned long address, uns
100 down_read(&mm->mmap_sem);
101 goto survive;
102 }
103- printk(KERN_ALERT "VM: killing process %s(%d)\n",
104- current->comm, task_pid_nr(current));
105+ printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n",
106+ current->comm, task_pid_nr(current), current->xid);
107 if (!user_mode(regs))
108 goto no_context;
109 do_group_exit(SIGKILL);
4a036bed
AM
110diff -NurpP --minimal linux-2.6.31.2/arch/arm/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/arm/Kconfig
111--- linux-2.6.31.2/arch/arm/Kconfig 2009-09-10 15:25:14.000000000 +0200
112+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 113@@ -1483,6 +1483,8 @@ source "fs/Kconfig"
d337f35e
JR
114
115 source "arch/arm/Kconfig.debug"
116
117+source "kernel/vserver/Kconfig"
118+
119 source "security/Kconfig"
120
121 source "crypto/Kconfig"
4a036bed
AM
122diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/calls.S linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/calls.S
123--- linux-2.6.31.2/arch/arm/kernel/calls.S 2009-09-10 15:25:15.000000000 +0200
124+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/calls.S 2009-09-10 16:11:43.000000000 +0200
d337f35e
JR
125@@ -322,7 +322,7 @@
126 /* 310 */ CALL(sys_request_key)
127 CALL(sys_keyctl)
128 CALL(ABI(sys_semtimedop, sys_oabi_semtimedop))
129-/* vserver */ CALL(sys_ni_syscall)
130+ CALL(sys_vserver)
131 CALL(sys_ioprio_set)
132 /* 315 */ CALL(sys_ioprio_get)
133 CALL(sys_inotify_init)
4a036bed
AM
134diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/process.c linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/process.c
135--- linux-2.6.31.2/arch/arm/kernel/process.c 2009-09-10 15:25:15.000000000 +0200
136+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/process.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 137@@ -269,7 +269,8 @@ void __show_regs(struct pt_regs *regs)
d337f35e
JR
138 void show_regs(struct pt_regs * regs)
139 {
140 printk("\n");
2380c486 141- printk("Pid: %d, comm: %20s\n", task_pid_nr(current), current->comm);
d337f35e 142+ printk("Pid: %d[#%u], comm: %20s\n",
2380c486 143+ task_pid_nr(current), current->xid, current->comm);
d337f35e
JR
144 __show_regs(regs);
145 __backtrace();
146 }
4a036bed
AM
147diff -NurpP --minimal linux-2.6.31.2/arch/arm/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/traps.c
148--- linux-2.6.31.2/arch/arm/kernel/traps.c 2009-06-11 17:11:49.000000000 +0200
149+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 150@@ -228,8 +228,8 @@ static void __die(const char *str, int e
2380c486 151 str, err, ++die_counter);
d337f35e
JR
152 print_modules();
153 __show_regs(regs);
154- printk("Process %s (pid: %d, stack limit = 0x%p)\n",
2380c486 155- tsk->comm, task_pid_nr(tsk), thread + 1);
d337f35e 156+ printk("Process %s (pid: %d:#%u, stack limit = 0x%p)\n",
2380c486 157+ tsk->comm, task_pid_nr(tsk), tsk->xid, thread + 1);
d337f35e
JR
158
159 if (!user_mode(regs) || in_interrupt()) {
160 dump_mem("Stack: ", regs->ARM_sp,
4a036bed
AM
161diff -NurpP --minimal linux-2.6.31.2/arch/arm/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/arm/mm/fault.c
162--- linux-2.6.31.2/arch/arm/mm/fault.c 2009-09-10 15:25:18.000000000 +0200
163+++ linux-2.6.31.2-vs2.3.0.36.15/arch/arm/mm/fault.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 164@@ -294,7 +294,8 @@ do_page_fault(unsigned long addr, unsign
2380c486
JR
165 * happened to us that made us unable to handle
166 * the page fault gracefully.
167 */
168- printk("VM: killing process %s\n", tsk->comm);
169+ printk("VM: killing process %s(%d:#%u)\n",
170+ tsk->comm, task_pid_nr(tsk), tsk->xid);
171 do_group_exit(SIGKILL);
172 return 0;
173 }
4a036bed
AM
174diff -NurpP --minimal linux-2.6.31.2/arch/avr32/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/avr32/mm/fault.c
175--- linux-2.6.31.2/arch/avr32/mm/fault.c 2009-09-10 15:25:20.000000000 +0200
176+++ linux-2.6.31.2-vs2.3.0.36.15/arch/avr32/mm/fault.c 2009-09-29 17:32:09.000000000 +0200
177@@ -216,7 +216,8 @@ out_of_memory:
178 down_read(&mm->mmap_sem);
179 goto survive;
180 }
181- printk("VM: Killing process %s\n", tsk->comm);
182+ printk("VM: Killing process %s(%d:#%u)\n",
183+ tsk->comm, task_pid_nr(tsk), tsk->xid);
184 if (user_mode(regs))
185 do_group_exit(SIGKILL);
186 goto no_context;
187diff -NurpP --minimal linux-2.6.31.2/arch/cris/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/cris/Kconfig
188--- linux-2.6.31.2/arch/cris/Kconfig 2009-06-11 17:11:56.000000000 +0200
189+++ linux-2.6.31.2-vs2.3.0.36.15/arch/cris/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 190@@ -685,6 +685,8 @@ source "drivers/staging/Kconfig"
d337f35e
JR
191
192 source "arch/cris/Kconfig.debug"
193
194+source "kernel/vserver/Kconfig"
195+
196 source "security/Kconfig"
197
198 source "crypto/Kconfig"
4a036bed
AM
199diff -NurpP --minimal linux-2.6.31.2/arch/cris/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/cris/mm/fault.c
200--- linux-2.6.31.2/arch/cris/mm/fault.c 2009-09-10 15:25:21.000000000 +0200
201+++ linux-2.6.31.2-vs2.3.0.36.15/arch/cris/mm/fault.c 2009-09-29 17:25:13.000000000 +0200
202@@ -245,7 +245,8 @@ do_page_fault(unsigned long address, str
203
204 out_of_memory:
205 up_read(&mm->mmap_sem);
206- printk("VM: killing process %s\n", tsk->comm);
207+ printk("VM: killing process %s(%d:#%u)\n",
208+ tsk->comm, task_pid_nr(tsk), tsk->xid);
209 if (user_mode(regs))
210 do_exit(SIGKILL);
211 goto no_context;
212diff -NurpP --minimal linux-2.6.31.2/arch/frv/kernel/kernel_thread.S linux-2.6.31.2-vs2.3.0.36.15/arch/frv/kernel/kernel_thread.S
213--- linux-2.6.31.2/arch/frv/kernel/kernel_thread.S 2008-12-25 00:26:37.000000000 +0100
214+++ linux-2.6.31.2-vs2.3.0.36.15/arch/frv/kernel/kernel_thread.S 2009-09-10 16:11:43.000000000 +0200
2380c486 215@@ -37,7 +37,7 @@ kernel_thread:
d337f35e
JR
216
217 # start by forking the current process, but with shared VM
218 setlos.p #__NR_clone,gr7 ; syscall number
219- ori gr10,#CLONE_VM,gr8 ; first syscall arg [clone_flags]
220+ ori gr10,#CLONE_KT,gr8 ; first syscall arg [clone_flags]
221 sethi.p #0xe4e4,gr9 ; second syscall arg [newsp]
222 setlo #0xe4e4,gr9
223 setlos.p #0,gr10 ; third syscall arg [parent_tidptr]
4a036bed
AM
224diff -NurpP --minimal linux-2.6.31.2/arch/frv/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/frv/mm/fault.c
225--- linux-2.6.31.2/arch/frv/mm/fault.c 2009-09-10 15:25:22.000000000 +0200
226+++ linux-2.6.31.2-vs2.3.0.36.15/arch/frv/mm/fault.c 2009-09-29 17:25:48.000000000 +0200
227@@ -257,7 +257,8 @@ asmlinkage void do_page_fault(int datamm
228 */
229 out_of_memory:
230 up_read(&mm->mmap_sem);
231- printk("VM: killing process %s\n", current->comm);
232+ printk("VM: killing process %s(%d:#%u)\n",
233+ current->comm, task_pid_nr(current), current->xid);
234 if (user_mode(__frame))
235 do_group_exit(SIGKILL);
236 goto no_context;
237diff -NurpP --minimal linux-2.6.31.2/arch/h8300/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/h8300/Kconfig
238--- linux-2.6.31.2/arch/h8300/Kconfig 2009-03-24 14:18:24.000000000 +0100
239+++ linux-2.6.31.2-vs2.3.0.36.15/arch/h8300/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 240@@ -226,6 +226,8 @@ source "fs/Kconfig"
d337f35e
JR
241
242 source "arch/h8300/Kconfig.debug"
243
244+source "kernel/vserver/Kconfig"
245+
246 source "security/Kconfig"
247
248 source "crypto/Kconfig"
4a036bed
AM
249diff -NurpP --minimal linux-2.6.31.2/arch/ia64/ia32/ia32_entry.S linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/ia32/ia32_entry.S
250--- linux-2.6.31.2/arch/ia64/ia32/ia32_entry.S 2009-06-11 17:11:57.000000000 +0200
251+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/ia32/ia32_entry.S 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 252@@ -451,7 +451,7 @@ ia32_syscall_table:
2380c486
JR
253 data8 sys_tgkill /* 270 */
254 data8 compat_sys_utimes
255 data8 sys32_fadvise64_64
256- data8 sys_ni_syscall
257+ data8 sys32_vserver
258 data8 sys_ni_syscall
259 data8 sys_ni_syscall /* 275 */
260 data8 sys_ni_syscall
4a036bed
AM
261diff -NurpP --minimal linux-2.6.31.2/arch/ia64/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/Kconfig
262--- linux-2.6.31.2/arch/ia64/Kconfig 2009-09-10 15:25:22.000000000 +0200
263+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 264@@ -676,6 +676,8 @@ source "fs/Kconfig"
2380c486
JR
265
266 source "arch/ia64/Kconfig.debug"
d337f35e
JR
267
268+source "kernel/vserver/Kconfig"
269+
270 source "security/Kconfig"
271
272 source "crypto/Kconfig"
4a036bed
AM
273diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/entry.S linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/entry.S
274--- linux-2.6.31.2/arch/ia64/kernel/entry.S 2009-09-10 15:25:22.000000000 +0200
275+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/entry.S 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 276@@ -1753,7 +1753,7 @@ sys_call_table:
2380c486
JR
277 data8 sys_mq_notify
278 data8 sys_mq_getsetattr
279 data8 sys_kexec_load
280- data8 sys_ni_syscall // reserved for vserver
281+ data8 sys_vserver
282 data8 sys_waitid // 1270
283 data8 sys_add_key
284 data8 sys_request_key
4a036bed
AM
285diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/perfmon.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/perfmon.c
286--- linux-2.6.31.2/arch/ia64/kernel/perfmon.c 2009-09-10 15:25:22.000000000 +0200
287+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/perfmon.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 288@@ -41,6 +41,7 @@
2380c486
JR
289 #include <linux/rcupdate.h>
290 #include <linux/completion.h>
ec22aa5c 291 #include <linux/tracehook.h>
2380c486 292+#include <linux/vs_memory.h>
d337f35e 293
2380c486
JR
294 #include <asm/errno.h>
295 #include <asm/intrinsics.h>
ec22aa5c 296@@ -2372,7 +2373,7 @@ pfm_smpl_buffer_alloc(struct task_struct
2380c486
JR
297 */
298 insert_vm_struct(mm, vma);
d337f35e 299
2380c486
JR
300- mm->total_vm += size >> PAGE_SHIFT;
301+ vx_vmpages_add(mm, size >> PAGE_SHIFT);
302 vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file,
303 vma_pages(vma));
304 up_write(&task->mm->mmap_sem);
4a036bed
AM
305diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/process.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/process.c
306--- linux-2.6.31.2/arch/ia64/kernel/process.c 2009-06-11 17:11:57.000000000 +0200
307+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/process.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 308@@ -110,8 +110,8 @@ show_regs (struct pt_regs *regs)
2380c486 309 unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri;
d337f35e 310
2380c486
JR
311 print_modules();
312- printk("\nPid: %d, CPU %d, comm: %20s\n", task_pid_nr(current),
313- smp_processor_id(), current->comm);
314+ printk("\nPid: %d[#%u], CPU %d, comm: %20s\n", task_pid_nr(current),
315+ current->xid, smp_processor_id(), current->comm);
316 printk("psr : %016lx ifs : %016lx ip : [<%016lx>] %s (%s)\n",
317 regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(),
318 init_utsname()->release);
4a036bed
AM
319diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/ptrace.c
320--- linux-2.6.31.2/arch/ia64/kernel/ptrace.c 2009-09-10 15:25:22.000000000 +0200
321+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/ptrace.c 2009-09-10 16:11:43.000000000 +0200
23f740c4 322@@ -22,6 +22,7 @@
2380c486 323 #include <linux/regset.h>
d337f35e 324 #include <linux/elf.h>
ec22aa5c 325 #include <linux/tracehook.h>
d337f35e
JR
326+#include <linux/vs_base.h>
327
328 #include <asm/pgtable.h>
329 #include <asm/processor.h>
4a036bed
AM
330diff -NurpP --minimal linux-2.6.31.2/arch/ia64/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/traps.c
331--- linux-2.6.31.2/arch/ia64/kernel/traps.c 2008-12-25 00:26:37.000000000 +0100
332+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
2380c486 333@@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re
d337f35e
JR
334 put_cpu();
335
336 if (++die.lock_owner_depth < 3) {
337- printk("%s[%d]: %s %ld [%d]\n",
2380c486 338- current->comm, task_pid_nr(current), str, err, ++die_counter);
d337f35e 339+ printk("%s[%d[#%u]]: %s %ld [%d]\n",
2380c486 340+ current->comm, task_pid_nr(current), current->xid,
d337f35e 341+ str, err, ++die_counter);
2380c486
JR
342 if (notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV)
343 != NOTIFY_STOP)
344 show_regs(regs);
345@@ -324,8 +325,9 @@ handle_fpu_swa (int fp_fault, struct pt_
346 if ((last.count & 15) < 5 && (ia64_fetchadd(1, &last.count, acq) & 15) < 5) {
347 last.time = current_jiffies + 5 * HZ;
348 printk(KERN_WARNING
349- "%s(%d): floating-point assist fault at ip %016lx, isr %016lx\n",
350- current->comm, task_pid_nr(current), regs->cr_iip + ia64_psr(regs)->ri, isr);
351+ "%s(%d[#%u]): floating-point assist fault at ip %016lx, isr %016lx\n",
352+ current->comm, task_pid_nr(current), current->xid,
353+ regs->cr_iip + ia64_psr(regs)->ri, isr);
354 }
355 }
d337f35e 356 }
4a036bed
AM
357diff -NurpP --minimal linux-2.6.31.2/arch/ia64/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/mm/fault.c
358--- linux-2.6.31.2/arch/ia64/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
359+++ linux-2.6.31.2-vs2.3.0.36.15/arch/ia64/mm/fault.c 2009-09-29 17:26:21.000000000 +0200
d337f35e 360@@ -10,6 +10,7 @@
d337f35e
JR
361 #include <linux/interrupt.h>
362 #include <linux/kprobes.h>
2380c486 363 #include <linux/kdebug.h>
d337f35e
JR
364+#include <linux/vs_memory.h>
365
366 #include <asm/pgtable.h>
367 #include <asm/processor.h>
4a036bed
AM
368@@ -281,7 +282,8 @@ ia64_do_page_fault (unsigned long addres
369 down_read(&mm->mmap_sem);
370 goto survive;
371 }
372- printk(KERN_CRIT "VM: killing process %s\n", current->comm);
373+ printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n",
374+ current->comm, task_pid_nr(current), current->xid);
375 if (user_mode(regs))
376 do_group_exit(SIGKILL);
377 goto no_context;
378diff -NurpP --minimal linux-2.6.31.2/arch/m32r/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/m32r/kernel/traps.c
379--- linux-2.6.31.2/arch/m32r/kernel/traps.c 2008-12-25 00:26:37.000000000 +0100
380+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m32r/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
2380c486 381@@ -196,8 +196,9 @@ static void show_registers(struct pt_reg
d337f35e
JR
382 } else {
383 printk("SPI: %08lx\n", sp);
384 }
385- printk("Process %s (pid: %d, process nr: %d, stackpage=%08lx)",
2380c486 386- current->comm, task_pid_nr(current), 0xffff & i, 4096+(unsigned long)current);
d337f35e 387+ printk("Process %s (pid: %d[#%u], process nr: %d, stackpage=%08lx)",
2380c486 388+ current->comm, task_pid_nr(current), current->xid,
d337f35e
JR
389+ 0xffff & i, 4096+(unsigned long)current);
390
391 /*
392 * When in-kernel, we also print out the stack and code at the
4a036bed
AM
393diff -NurpP --minimal linux-2.6.31.2/arch/m32r/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/m32r/mm/fault.c
394--- linux-2.6.31.2/arch/m32r/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
395+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m32r/mm/fault.c 2009-09-29 17:26:48.000000000 +0200
396@@ -276,7 +276,8 @@ out_of_memory:
397 down_read(&mm->mmap_sem);
398 goto survive;
399 }
400- printk("VM: killing process %s\n", tsk->comm);
401+ printk("VM: killing process %s(%d:#%u)\n",
402+ tsk->comm, task_pid_nr(tsk), tsk->xid);
403 if (error_code & ACE_USERMODE)
404 do_group_exit(SIGKILL);
405 goto no_context;
406diff -NurpP --minimal linux-2.6.31.2/arch/m68k/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/Kconfig
407--- linux-2.6.31.2/arch/m68k/Kconfig 2009-03-24 14:18:26.000000000 +0100
408+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 409@@ -616,6 +616,8 @@ source "fs/Kconfig"
d337f35e
JR
410
411 source "arch/m68k/Kconfig.debug"
412
413+source "kernel/vserver/Kconfig"
414+
415 source "security/Kconfig"
416
417 source "crypto/Kconfig"
4a036bed
AM
418diff -NurpP --minimal linux-2.6.31.2/arch/m68k/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/kernel/ptrace.c
419--- linux-2.6.31.2/arch/m68k/kernel/ptrace.c 2008-12-25 00:26:37.000000000 +0100
420+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/kernel/ptrace.c 2009-09-10 16:11:43.000000000 +0200
2380c486 421@@ -18,6 +18,7 @@
d337f35e
JR
422 #include <linux/ptrace.h>
423 #include <linux/user.h>
424 #include <linux/signal.h>
425+#include <linux/vs_base.h>
426
427 #include <asm/uaccess.h>
428 #include <asm/page.h>
2380c486 429@@ -269,6 +270,8 @@ long arch_ptrace(struct task_struct *chi
d337f35e
JR
430 ret = ptrace_request(child, request, addr, data);
431 break;
432 }
2380c486 433+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT))
d337f35e
JR
434+ goto out_tsk;
435
436 return ret;
437 out_eio:
4a036bed
AM
438diff -NurpP --minimal linux-2.6.31.2/arch/m68k/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/kernel/traps.c
439--- linux-2.6.31.2/arch/m68k/kernel/traps.c 2009-09-10 15:25:23.000000000 +0200
440+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 441@@ -906,8 +906,8 @@ void show_registers(struct pt_regs *regs
d337f35e
JR
442 printk("d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n",
443 regs->d4, regs->d5, regs->a0, regs->a1);
444
445- printk("Process %s (pid: %d, task=%p)\n",
2380c486 446- current->comm, task_pid_nr(current), current);
d337f35e 447+ printk("Process %s (pid: %d[#%u], task=%p)\n",
2380c486 448+ current->comm, task_pid_nr(current), current->xid, current);
d337f35e
JR
449 addr = (unsigned long)&fp->un;
450 printk("Frame format=%X ", regs->format);
451 switch (regs->format) {
4a036bed
AM
452diff -NurpP --minimal linux-2.6.31.2/arch/m68k/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/mm/fault.c
453--- linux-2.6.31.2/arch/m68k/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
454+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68k/mm/fault.c 2009-09-29 17:27:45.000000000 +0200
455@@ -186,7 +186,8 @@ out_of_memory:
456 goto survive;
457 }
458
459- printk("VM: killing process %s\n", current->comm);
460+ printk("VM: killing process %s(%d:#%u)\n",
461+ current->comm, task_pid_nr(current), current->xid);
462 if (user_mode(regs))
463 do_group_exit(SIGKILL);
464
465diff -NurpP --minimal linux-2.6.31.2/arch/m68knommu/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/m68knommu/Kconfig
466--- linux-2.6.31.2/arch/m68knommu/Kconfig 2009-06-11 17:11:59.000000000 +0200
467+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68knommu/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 468@@ -721,6 +721,8 @@ source "fs/Kconfig"
d337f35e
JR
469
470 source "arch/m68knommu/Kconfig.debug"
471
472+source "kernel/vserver/Kconfig"
473+
474 source "security/Kconfig"
475
476 source "crypto/Kconfig"
4a036bed
AM
477diff -NurpP --minimal linux-2.6.31.2/arch/m68knommu/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/m68knommu/kernel/traps.c
478--- linux-2.6.31.2/arch/m68knommu/kernel/traps.c 2009-09-10 15:25:23.000000000 +0200
479+++ linux-2.6.31.2-vs2.3.0.36.15/arch/m68knommu/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 480@@ -78,8 +78,9 @@ void die_if_kernel(char *str, struct pt_
d337f35e
JR
481 printk(KERN_EMERG "d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n",
482 fp->d4, fp->d5, fp->a0, fp->a1);
483
484- printk(KERN_EMERG "Process %s (pid: %d, stackpage=%08lx)\n",
485- current->comm, current->pid, PAGE_SIZE+(unsigned long)current);
486+ printk(KERN_EMERG "Process %s (pid: %d[#%u], stackpage=%08lx)\n",
2380c486 487+ current->comm, task_pid_nr(current), current->xid,
d337f35e 488+ PAGE_SIZE+(unsigned long)current);
2380c486
JR
489 show_stack(NULL, (unsigned long *)(fp + 1));
490 add_taint(TAINT_DIE);
d337f35e 491 do_exit(SIGSEGV);
4a036bed
AM
492diff -NurpP --minimal linux-2.6.31.2/arch/microblaze/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/microblaze/mm/fault.c
493--- linux-2.6.31.2/arch/microblaze/mm/fault.c 2009-09-10 15:25:24.000000000 +0200
494+++ linux-2.6.31.2-vs2.3.0.36.15/arch/microblaze/mm/fault.c 2009-09-29 17:28:08.000000000 +0200
495@@ -279,7 +279,8 @@ out_of_memory:
496 goto survive;
497 }
498 up_read(&mm->mmap_sem);
499- printk(KERN_WARNING "VM: killing process %s\n", current->comm);
500+ printk(KERN_WARNING "VM: killing process %s(%d:#%u)\n",
501+ current->comm, task_pid_nr(current), current->xid);
502 if (user_mode(regs))
503 do_exit(SIGKILL);
504 bad_page_fault(regs, address, SIGKILL);
505diff -NurpP --minimal linux-2.6.31.2/arch/mips/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/mips/Kconfig
506--- linux-2.6.31.2/arch/mips/Kconfig 2009-09-10 15:25:24.000000000 +0200
507+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 508@@ -2186,6 +2186,8 @@ source "fs/Kconfig"
d337f35e
JR
509
510 source "arch/mips/Kconfig.debug"
511
512+source "kernel/vserver/Kconfig"
513+
514 source "security/Kconfig"
515
516 source "crypto/Kconfig"
4a036bed
AM
517diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/ptrace.c
518--- linux-2.6.31.2/arch/mips/kernel/ptrace.c 2008-12-25 00:26:37.000000000 +0100
519+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/ptrace.c 2009-09-10 16:11:43.000000000 +0200
2380c486 520@@ -25,6 +25,7 @@
d337f35e 521 #include <linux/security.h>
2380c486
JR
522 #include <linux/audit.h>
523 #include <linux/seccomp.h>
d337f35e
JR
524+#include <linux/vs_base.h>
525
526 #include <asm/byteorder.h>
527 #include <asm/cpu.h>
ec22aa5c 528@@ -259,6 +260,9 @@ long arch_ptrace(struct task_struct *chi
d337f35e
JR
529 {
530 int ret;
531
2380c486 532+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT))
d337f35e
JR
533+ goto out;
534+
535 switch (request) {
536 /* when I and D space are separate, these will need to be fixed. */
537 case PTRACE_PEEKTEXT: /* read word at location addr. */
4a036bed
AM
538diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall32-o32.S linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall32-o32.S
539--- linux-2.6.31.2/arch/mips/kernel/scall32-o32.S 2009-09-10 15:25:38.000000000 +0200
540+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall32-o32.S 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 541@@ -597,7 +597,7 @@ einval: li v0, -ENOSYS
d337f35e
JR
542 sys sys_mq_timedreceive 5
543 sys sys_mq_notify 2 /* 4275 */
544 sys sys_mq_getsetattr 3
545- sys sys_ni_syscall 0 /* sys_vserver */
546+ sys sys_vserver 3
547 sys sys_waitid 5
548 sys sys_ni_syscall 0 /* available, was setaltroot */
549 sys sys_add_key 5 /* 4280 */
4a036bed
AM
550diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-64.S linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-64.S
551--- linux-2.6.31.2/arch/mips/kernel/scall64-64.S 2009-09-10 15:25:38.000000000 +0200
552+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-64.S 2009-09-10 16:11:43.000000000 +0200
d337f35e
JR
553@@ -434,7 +434,7 @@ sys_call_table:
554 PTR sys_mq_timedreceive
555 PTR sys_mq_notify
556 PTR sys_mq_getsetattr /* 5235 */
557- PTR sys_ni_syscall /* sys_vserver */
558+ PTR sys_vserver
559 PTR sys_waitid
560 PTR sys_ni_syscall /* available, was setaltroot */
561 PTR sys_add_key
4a036bed
AM
562diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-n32.S linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-n32.S
563--- linux-2.6.31.2/arch/mips/kernel/scall64-n32.S 2009-09-10 15:25:38.000000000 +0200
564+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-n32.S 2009-09-10 16:11:43.000000000 +0200
d337f35e
JR
565@@ -360,7 +360,7 @@ EXPORT(sysn32_call_table)
566 PTR compat_sys_mq_timedreceive
567 PTR compat_sys_mq_notify
568 PTR compat_sys_mq_getsetattr
569- PTR sys_ni_syscall /* 6240, sys_vserver */
570+ PTR sys32_vserver /* 6240 */
2380c486 571 PTR compat_sys_waitid
d337f35e
JR
572 PTR sys_ni_syscall /* available, was setaltroot */
573 PTR sys_add_key
4a036bed
AM
574diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/scall64-o32.S linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-o32.S
575--- linux-2.6.31.2/arch/mips/kernel/scall64-o32.S 2009-09-10 15:25:38.000000000 +0200
576+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/scall64-o32.S 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 577@@ -480,7 +480,7 @@ sys_call_table:
d337f35e
JR
578 PTR compat_sys_mq_timedreceive
579 PTR compat_sys_mq_notify /* 4275 */
580 PTR compat_sys_mq_getsetattr
581- PTR sys_ni_syscall /* sys_vserver */
582+ PTR sys32_vserver
2380c486 583 PTR sys_32_waitid
d337f35e
JR
584 PTR sys_ni_syscall /* available, was setaltroot */
585 PTR sys_add_key /* 4280 */
4a036bed
AM
586diff -NurpP --minimal linux-2.6.31.2/arch/mips/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/traps.c
587--- linux-2.6.31.2/arch/mips/kernel/traps.c 2009-09-10 15:25:38.000000000 +0200
588+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mips/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 589@@ -335,9 +335,10 @@ void show_registers(const struct pt_regs
2380c486
JR
590
591 __show_regs(regs);
d337f35e 592 print_modules();
2380c486
JR
593- printk("Process %s (pid: %d, threadinfo=%p, task=%p, tls=%0*lx)\n",
594- current->comm, current->pid, current_thread_info(), current,
595- field, current_thread_info()->tp_value);
596+ printk("Process %s (pid: %d:#%u, threadinfo=%p, task=%p, tls=%0*lx)\n",
597+ current->comm, task_pid_nr(current), current->xid,
598+ current_thread_info(), current,
599+ field, current_thread_info()->tp_value);
600 if (cpu_has_userlocal) {
601 unsigned long tls;
602
4a036bed
AM
603diff -NurpP --minimal linux-2.6.31.2/arch/mn10300/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/mn10300/mm/fault.c
604--- linux-2.6.31.2/arch/mn10300/mm/fault.c 2009-09-10 15:25:39.000000000 +0200
605+++ linux-2.6.31.2-vs2.3.0.36.15/arch/mn10300/mm/fault.c 2009-09-29 17:28:34.000000000 +0200
606@@ -339,7 +339,8 @@ no_context:
607 out_of_memory:
608 up_read(&mm->mmap_sem);
609 monitor_signal(regs);
610- printk(KERN_ALERT "VM: killing process %s\n", tsk->comm);
611+ printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n",
612+ tsk->comm, task_pid_nr(tsk), tsk->xid);
613 if ((fault_code & MMUFCR_xFC_ACCESS) == MMUFCR_xFC_ACCESS_USR)
614 do_exit(SIGKILL);
615 goto no_context;
616diff -NurpP --minimal linux-2.6.31.2/arch/parisc/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/Kconfig
617--- linux-2.6.31.2/arch/parisc/Kconfig 2009-09-10 15:25:39.000000000 +0200
618+++ linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 619@@ -293,6 +293,8 @@ source "fs/Kconfig"
d337f35e
JR
620
621 source "arch/parisc/Kconfig.debug"
622
623+source "kernel/vserver/Kconfig"
624+
625 source "security/Kconfig"
626
627 source "crypto/Kconfig"
4a036bed
AM
628diff -NurpP --minimal linux-2.6.31.2/arch/parisc/kernel/syscall_table.S linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/kernel/syscall_table.S
629--- linux-2.6.31.2/arch/parisc/kernel/syscall_table.S 2009-09-10 15:25:40.000000000 +0200
630+++ linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/kernel/syscall_table.S 2009-09-10 16:11:43.000000000 +0200
2380c486 631@@ -361,7 +361,7 @@
d337f35e
JR
632 ENTRY_COMP(mbind) /* 260 */
633 ENTRY_COMP(get_mempolicy)
634 ENTRY_COMP(set_mempolicy)
635- ENTRY_SAME(ni_syscall) /* 263: reserved for vserver */
636+ ENTRY_DIFF(vserver)
637 ENTRY_SAME(add_key)
638 ENTRY_SAME(request_key) /* 265 */
639 ENTRY_SAME(keyctl)
4a036bed
AM
640diff -NurpP --minimal linux-2.6.31.2/arch/parisc/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/kernel/traps.c
641--- linux-2.6.31.2/arch/parisc/kernel/traps.c 2009-09-10 15:25:40.000000000 +0200
642+++ linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
2380c486 643@@ -236,8 +236,9 @@ void die_if_kernel(char *str, struct pt_
d337f35e
JR
644 if (err == 0)
645 return; /* STFU */
646
647- printk(KERN_CRIT "%s (pid %d): %s (code %ld) at " RFMT "\n",
2380c486 648- current->comm, task_pid_nr(current), str, err, regs->iaoq[0]);
d337f35e 649+ printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld) at " RFMT "\n",
2380c486 650+ current->comm, task_pid_nr(current), current->xid,
d337f35e
JR
651+ str, err, regs->iaoq[0]);
652 #ifdef PRINT_USER_FAULTS
653 /* XXX for debugging only */
654 show_regs(regs);
ec22aa5c 655@@ -270,8 +271,8 @@ void die_if_kernel(char *str, struct pt_
d337f35e
JR
656 pdc_console_restart();
657
2380c486
JR
658 if (err)
659- printk(KERN_CRIT "%s (pid %d): %s (code %ld)\n",
660- current->comm, task_pid_nr(current), str, err);
661+ printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld)\n",
662+ current->comm, task_pid_nr(current), current->xid, str, err);
663
664 /* Wot's wrong wif bein' racy? */
665 if (current->thread.flags & PARISC_KERNEL_DEATH) {
4a036bed
AM
666diff -NurpP --minimal linux-2.6.31.2/arch/parisc/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/mm/fault.c
667--- linux-2.6.31.2/arch/parisc/mm/fault.c 2009-09-10 15:25:40.000000000 +0200
668+++ linux-2.6.31.2-vs2.3.0.36.15/arch/parisc/mm/fault.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 669@@ -237,8 +237,9 @@ bad_area:
d337f35e
JR
670
671 #ifdef PRINT_USER_FAULTS
672 printk(KERN_DEBUG "\n");
673- printk(KERN_DEBUG "do_page_fault() pid=%d command='%s' type=%lu address=0x%08lx\n",
2380c486 674- task_pid_nr(tsk), tsk->comm, code, address);
d337f35e
JR
675+ printk(KERN_DEBUG "do_page_fault() pid=%d:#%u "
676+ "command='%s' type=%lu address=0x%08lx\n",
2380c486 677+ task_pid_nr(tsk), tsk->xid, tsk->comm, code, address);
d337f35e
JR
678 if (vma) {
679 printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n",
680 vma->vm_start, vma->vm_end);
ec22aa5c 681@@ -264,7 +265,8 @@ no_context:
2380c486
JR
682
683 out_of_memory:
684 up_read(&mm->mmap_sem);
685- printk(KERN_CRIT "VM: killing process %s\n", current->comm);
686+ printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n",
687+ current->comm, current->pid, current->xid);
688 if (user_mode(regs))
689 do_group_exit(SIGKILL);
690 goto no_context;
4a036bed
AM
691diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/include/asm/unistd.h linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/include/asm/unistd.h
692--- linux-2.6.31.2/arch/powerpc/include/asm/unistd.h 2009-09-10 15:25:41.000000000 +0200
693+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/include/asm/unistd.h 2009-09-29 17:19:36.000000000 +0200
694@@ -275,7 +275,7 @@
695 #endif
696 #define __NR_rtas 255
697 #define __NR_sys_debug_setcontext 256
698-/* Number 257 is reserved for vserver */
699+#define __NR_vserver 258
700 #define __NR_migrate_pages 258
701 #define __NR_mbind 259
702 #define __NR_get_mempolicy 260
703diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/Kconfig
704--- linux-2.6.31.2/arch/powerpc/Kconfig 2009-09-10 15:25:40.000000000 +0200
705+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 706@@ -933,6 +933,8 @@ source "lib/Kconfig"
d337f35e
JR
707
708 source "arch/powerpc/Kconfig.debug"
709
710+source "kernel/vserver/Kconfig"
711+
712 source "security/Kconfig"
713
714 config KEYS_COMPAT
4a036bed
AM
715diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/irq.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/irq.c
716--- linux-2.6.31.2/arch/powerpc/kernel/irq.c 2009-09-10 15:25:41.000000000 +0200
717+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/irq.c 2009-09-10 16:15:56.000000000 +0200
ec22aa5c 718@@ -54,6 +54,7 @@
d337f35e 719 #include <linux/pci.h>
2380c486 720 #include <linux/debugfs.h>
ec22aa5c 721 #include <linux/perf_counter.h>
d337f35e
JR
722+#include <linux/vs_context.h>
723
724 #include <asm/uaccess.h>
725 #include <asm/system.h>
4a036bed
AM
726diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/process.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/process.c
727--- linux-2.6.31.2/arch/powerpc/kernel/process.c 2009-09-10 15:25:41.000000000 +0200
728+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/process.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 729@@ -519,8 +519,9 @@ void show_regs(struct pt_regs * regs)
2380c486 730 #else
d337f35e 731 printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr);
2380c486 732 #endif
d337f35e 733- printk("TASK = %p[%d] '%s' THREAD: %p",
2380c486 734- current, task_pid_nr(current), current->comm, task_thread_info(current));
d337f35e 735+ printk("TASK = %p[%d,#%u] '%s' THREAD: %p",
2380c486 736+ current, task_pid_nr(current), current->xid,
d337f35e
JR
737+ current->comm, task_thread_info(current));
738
739 #ifdef CONFIG_SMP
2380c486 740 printk(" CPU: %d", raw_smp_processor_id());
4a036bed
AM
741diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/traps.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/traps.c
742--- linux-2.6.31.2/arch/powerpc/kernel/traps.c 2009-09-10 15:25:41.000000000 +0200
743+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/traps.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 744@@ -931,8 +931,9 @@ void nonrecoverable_exception(struct pt_
d337f35e
JR
745
746 void trace_syscall(struct pt_regs *regs)
747 {
748- printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n",
2380c486 749- current, task_pid_nr(current), regs->nip, regs->link, regs->gpr[0],
d337f35e 750+ printk("Task: %p(%d[#%u]), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n",
2380c486 751+ current, task_pid_nr(current), current->xid,
d337f35e
JR
752+ regs->nip, regs->link, regs->gpr[0],
753 regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
754 }
755
4a036bed
AM
756diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/kernel/vdso.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/vdso.c
757--- linux-2.6.31.2/arch/powerpc/kernel/vdso.c 2009-03-24 14:18:35.000000000 +0100
758+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/kernel/vdso.c 2009-09-10 16:11:43.000000000 +0200
d337f35e 759@@ -22,6 +22,7 @@
d337f35e
JR
760 #include <linux/security.h>
761 #include <linux/bootmem.h>
2380c486 762 #include <linux/lmb.h>
d337f35e
JR
763+#include <linux/vs_memory.h>
764
765 #include <asm/pgtable.h>
766 #include <asm/system.h>
4a036bed
AM
767diff -NurpP --minimal linux-2.6.31.2/arch/powerpc/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/mm/fault.c
768--- linux-2.6.31.2/arch/powerpc/mm/fault.c 2009-09-10 15:25:41.000000000 +0200
769+++ linux-2.6.31.2-vs2.3.0.36.15/arch/powerpc/mm/fault.c 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 770@@ -358,7 +358,8 @@ out_of_memory:
2380c486
JR
771 down_read(&mm->mmap_sem);
772 goto survive;
773 }
774- printk("VM: killing process %s\n", current->comm);
775+ printk("VM: killing process %s(%d:#%u)\n",
776+ current->comm, current->pid, current->xid);
777 if (user_mode(regs))
778 do_group_exit(SIGKILL);
779 return SIGKILL;
4a036bed
AM
780diff -NurpP --minimal linux-2.6.31.2/arch/s390/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/s390/Kconfig
781--- linux-2.6.31.2/arch/s390/Kconfig 2009-09-10 15:25:42.000000000 +0200
782+++ linux-2.6.31.2-vs2.3.0.36.15/arch/s390/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 783@@ -624,6 +624,8 @@ source "fs/Kconfig"
d337f35e
JR
784
785 source "arch/s390/Kconfig.debug"
786
787+source "kernel/vserver/Kconfig"
788+
789 source "security/Kconfig"
790
791 source "crypto/Kconfig"
4a036bed
AM
792diff -NurpP --minimal linux-2.6.31.2/arch/s390/kernel/ptrace.c linux-2.6.31.2-vs2.3.0.36.15/arch/s390/kernel/ptrace.c
793--- linux-2.6.31.2/arch/s390/kernel/ptrace.c 2009-09-10 15:25:43.000000000 +0200
794+++ linux-2.6.31.2-vs2.3.0.36.15/arch/s390/kernel/ptrace.c 2009-09-10 16:17:22.000000000 +0200
ec22aa5c 795@@ -36,6 +36,7 @@
2380c486 796 #include <linux/regset.h>
ec22aa5c
AM
797 #include <linux/tracehook.h>
798 #include <linux/seccomp.h>
d337f35e 799+#include <linux/vs_base.h>
ec22aa5c
AM
800 #include <trace/syscall.h>
801 #include <asm/compat.h>
d337f35e 802 #include <asm/segment.h>
4a036bed
AM
803diff -NurpP --minimal linux-2.6.31.2/arch/s390/kernel/syscalls.S linux-2.6.31.2-vs2.3.0.36.15/arch/s390/kernel/syscalls.S
804--- linux-2.6.31.2/arch/s390/kernel/syscalls.S 2009-09-10 15:25:43.000000000 +0200
805+++ linux-2.6.31.2-vs2.3.0.36.15/arch/s390/kernel/syscalls.S 2009-09-10 16:11:43.000000000 +0200
d337f35e
JR
806@@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
807 SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */
808 SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper)
809 SYSCALL(sys_clock_nanosleep,sys_clock_nanosleep,sys32_clock_nanosleep_wrapper)
810-NI_SYSCALL /* reserved for vserver */
811+SYSCALL(sys_vserver,sys_vserver,sys32_vserver)
2380c486 812 SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
d337f35e
JR
813 SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
814 SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
4a036bed
AM
815diff -NurpP --minimal linux-2.6.31.2/arch/s390/lib/uaccess_pt.c linux-2.6.31.2-vs2.3.0.36.15/arch/s390/lib/uaccess_pt.c
816--- linux-2.6.31.2/arch/s390/lib/uaccess_pt.c 2009-09-10 15:25:43.000000000 +0200
817+++ linux-2.6.31.2-vs2.3.0.36.15/arch/s390/lib/uaccess_pt.c 2009-09-29 17:29:02.000000000 +0200
818@@ -90,7 +90,8 @@ out_of_memory:
819 down_read(&mm->mmap_sem);
820 goto survive;
821 }
822- printk("VM: killing process %s\n", current->comm);
823+ printk("VM: killing process %s(%d:#%u)\n",
824+ current->comm, task_pid_nr(current), current->xid);
825 return ret;
826
827 out_sigbus:
828diff -NurpP --minimal linux-2.6.31.2/arch/sh/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/sh/Kconfig
829--- linux-2.6.31.2/arch/sh/Kconfig 2009-09-10 15:25:43.000000000 +0200
830+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 831@@ -813,6 +813,8 @@ source "fs/Kconfig"
d337f35e
JR
832
833 source "arch/sh/Kconfig.debug"
834
835+source "kernel/vserver/Kconfig"
836+
837 source "security/Kconfig"
838
839 source "crypto/Kconfig"
4a036bed
AM
840diff -NurpP --minimal linux-2.6.31.2/arch/sh/kernel/irq.c linux-2.6.31.2-vs2.3.0.36.15/arch/sh/kernel/irq.c
841--- linux-2.6.31.2/arch/sh/kernel/irq.c 2009-09-10 15:25:45.000000000 +0200
842+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/kernel/irq.c 2009-09-10 16:11:43.000000000 +0200
2380c486
JR
843@@ -11,6 +11,7 @@
844 #include <linux/module.h>
d337f35e
JR
845 #include <linux/kernel_stat.h>
846 #include <linux/seq_file.h>
d337f35e 847+#include <linux/vs_context.h>
d337f35e 848 #include <asm/processor.h>
2380c486 849 #include <asm/machvec.h>
d337f35e 850 #include <asm/uaccess.h>
4a036bed
AM
851diff -NurpP --minimal linux-2.6.31.2/arch/sh/kernel/vsyscall/vsyscall.c linux-2.6.31.2-vs2.3.0.36.15/arch/sh/kernel/vsyscall/vsyscall.c
852--- linux-2.6.31.2/arch/sh/kernel/vsyscall/vsyscall.c 2009-03-24 14:18:42.000000000 +0100
853+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/kernel/vsyscall/vsyscall.c 2009-09-10 16:11:43.000000000 +0200
2380c486 854@@ -19,6 +19,7 @@
d337f35e 855 #include <linux/elf.h>
2380c486
JR
856 #include <linux/sched.h>
857 #include <linux/err.h>
d337f35e
JR
858+#include <linux/vs_memory.h>
859
860 /*
861 * Should the kernel map a VDSO page into processes and pass its
4a036bed
AM
862diff -NurpP --minimal linux-2.6.31.2/arch/sh/mm/fault_32.c linux-2.6.31.2-vs2.3.0.36.15/arch/sh/mm/fault_32.c
863--- linux-2.6.31.2/arch/sh/mm/fault_32.c 2009-09-10 15:25:45.000000000 +0200
864+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/mm/fault_32.c 2009-09-29 17:29:36.000000000 +0200
865@@ -246,7 +246,8 @@ out_of_memory:
866 down_read(&mm->mmap_sem);
867 goto survive;
868 }
869- printk("VM: killing process %s\n", tsk->comm);
870+ printk("VM: killing process %s(%d:#%u)\n",
871+ tsk->comm, task_pid_nr(tsk), tsk->xid);
872 if (user_mode(regs))
873 do_group_exit(SIGKILL);
874 goto no_context;
875diff -NurpP --minimal linux-2.6.31.2/arch/sh/mm/tlbflush_64.c linux-2.6.31.2-vs2.3.0.36.15/arch/sh/mm/tlbflush_64.c
876--- linux-2.6.31.2/arch/sh/mm/tlbflush_64.c 2009-09-10 15:25:45.000000000 +0200
877+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sh/mm/tlbflush_64.c 2009-09-29 17:29:54.000000000 +0200
878@@ -306,7 +306,8 @@ out_of_memory:
879 down_read(&mm->mmap_sem);
880 goto survive;
881 }
882- printk("VM: killing process %s\n", tsk->comm);
883+ printk("VM: killing process %s(%d:#%u)\n",
884+ tsk->comm, task_pid_nr(tsk), tsk->xid);
885 if (user_mode(regs))
886 do_group_exit(SIGKILL);
887 goto no_context;
888diff -NurpP --minimal linux-2.6.31.2/arch/sparc/include/asm/tlb_64.h linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/include/asm/tlb_64.h
889--- linux-2.6.31.2/arch/sparc/include/asm/tlb_64.h 2009-09-10 15:25:45.000000000 +0200
890+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/include/asm/tlb_64.h 2009-09-10 16:11:43.000000000 +0200
ec22aa5c
AM
891@@ -3,6 +3,7 @@
892
893 #include <linux/swap.h>
894 #include <linux/pagemap.h>
895+#include <linux/vs_memory.h>
896 #include <asm/pgalloc.h>
897 #include <asm/tlbflush.h>
898 #include <asm/mmu_context.h>
4a036bed
AM
899diff -NurpP --minimal linux-2.6.31.2/arch/sparc/include/asm/unistd.h linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/include/asm/unistd.h
900--- linux-2.6.31.2/arch/sparc/include/asm/unistd.h 2009-09-10 15:25:45.000000000 +0200
901+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/include/asm/unistd.h 2009-09-10 16:11:43.000000000 +0200
ec22aa5c
AM
902@@ -335,7 +335,7 @@
903 #define __NR_timer_getoverrun 264
904 #define __NR_timer_delete 265
905 #define __NR_timer_create 266
906-/* #define __NR_vserver 267 Reserved for VSERVER */
907+#define __NR_vserver 267
908 #define __NR_io_setup 268
909 #define __NR_io_destroy 269
910 #define __NR_io_submit 270
4a036bed
AM
911diff -NurpP --minimal linux-2.6.31.2/arch/sparc/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/Kconfig
912--- linux-2.6.31.2/arch/sparc/Kconfig 2009-09-10 15:25:45.000000000 +0200
913+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 914@@ -530,6 +530,8 @@ source "fs/Kconfig"
d337f35e
JR
915
916 source "arch/sparc/Kconfig.debug"
917
918+source "kernel/vserver/Kconfig"
919+
920 source "security/Kconfig"
921
922 source "crypto/Kconfig"
4a036bed
AM
923diff -NurpP --minimal linux-2.6.31.2/arch/sparc/kernel/systbls_32.S linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/kernel/systbls_32.S
924--- linux-2.6.31.2/arch/sparc/kernel/systbls_32.S 2009-09-10 15:25:45.000000000 +0200
925+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/kernel/systbls_32.S 2009-09-10 16:11:43.000000000 +0200
50e68740
JR
926@@ -70,7 +70,7 @@ sys_call_table:
927 /*250*/ .long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
928 /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
929 /*260*/ .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
930-/*265*/ .long sys_timer_delete, sys_timer_create, sys_nis_syscall, sys_io_setup, sys_io_destroy
931+/*265*/ .long sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy
932 /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
933 /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
934 /*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
4a036bed
AM
935diff -NurpP --minimal linux-2.6.31.2/arch/sparc/kernel/systbls_64.S linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/kernel/systbls_64.S
936--- linux-2.6.31.2/arch/sparc/kernel/systbls_64.S 2009-09-10 15:25:45.000000000 +0200
937+++ linux-2.6.31.2-vs2.3.0.36.15/arch/sparc/kernel/systbls_64.S 2009-09-10 16:11:43.000000000 +0200
50e68740
JR
938@@ -71,7 +71,7 @@ sys_call_table32:
939 /*250*/ .word sys32_mremap, sys32_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl
940 .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep
941 /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun
942- .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy
943+ .word sys_timer_delete, compat_sys_timer_create, sys32_vserver, compat_sys_io_setup, sys_io_destroy
944 /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink
945 .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
946 /*280*/ .word sys32_tee, sys_add_key, sys_request_key, sys_keyctl, compat_sys_openat
ec22aa5c 947@@ -146,7 +146,7 @@ sys_call_table:
50e68740
JR
948 /*250*/ .word sys_64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
949 .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
950 /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
951- .word sys_timer_delete, sys_timer_create, sys_ni_syscall, sys_io_setup, sys_io_destroy
952+ .word sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy
953 /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
954 .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
955 /*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
4a036bed
AM
956diff -NurpP --minimal linux-2.6.31.2/arch/x86/ia32/ia32entry.S linux-2.6.31.2-vs2.3.0.36.15/arch/x86/ia32/ia32entry.S
957--- linux-2.6.31.2/arch/x86/ia32/ia32entry.S 2009-09-10 15:25:46.000000000 +0200
958+++ linux-2.6.31.2-vs2.3.0.36.15/arch/x86/ia32/ia32entry.S 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 959@@ -768,7 +768,7 @@ ia32_sys_call_table:
2380c486
JR
960 .quad sys_tgkill /* 270 */
961 .quad compat_sys_utimes
962 .quad sys32_fadvise64_64
963- .quad quiet_ni_syscall /* sys_vserver */
964+ .quad sys32_vserver
965 .quad sys_mbind
966 .quad compat_sys_get_mempolicy /* 275 */
967 .quad sys_set_mempolicy
4a036bed
AM
968diff -NurpP --minimal linux-2.6.31.2/arch/x86/include/asm/unistd_64.h linux-2.6.31.2-vs2.3.0.36.15/arch/x86/include/asm/unistd_64.h
969--- linux-2.6.31.2/arch/x86/include/asm/unistd_64.h 2009-09-10 15:25:47.000000000 +0200
970+++ linux-2.6.31.2-vs2.3.0.36.15/arch/x86/include/asm/unistd_64.h 2009-09-10 16:11:43.000000000 +0200
ec22aa5c
AM
971@@ -535,7 +535,7 @@ __SYSCALL(__NR_tgkill, sys_tgkill)
972 #define __NR_utimes 235
973 __SYSCALL(__NR_utimes, sys_utimes)
974 #define __NR_vserver 236
975-__SYSCALL(__NR_vserver, sys_ni_syscall)
976+__SYSCALL(__NR_vserver, sys_vserver)
977 #define __NR_mbind 237
978 __SYSCALL(__NR_mbind, sys_mbind)
979 #define __NR_set_mempolicy 238
4a036bed
AM
980diff -NurpP --minimal linux-2.6.31.2/arch/x86/Kconfig linux-2.6.31.2-vs2.3.0.36.15/arch/x86/Kconfig
981--- linux-2.6.31.2/arch/x86/Kconfig 2009-09-10 15:25:46.000000000 +0200
982+++ linux-2.6.31.2-vs2.3.0.36.15/arch/x86/Kconfig 2009-09-10 16:11:43.000000000 +0200
ec22aa5c 983@@ -2088,6 +2088,8 @@ source "fs/Kconfig"
d337f35e 984
2380c486 985 source "arch/x86/Kconfig.debug"
d337f35e
JR
986
987+source "kernel/vserver/Kconfig"
988+
989 source "security/Kconfig"
990
991 source "crypto/Kconfig"
4a036bed
AM
992diff -NurpP --minimal linux-2.6.31.2/arch/x86/kernel/syscall_table_32.S linux-2.6.31.2-vs2.3.0.36.15/arch/x86/kernel/syscall_table_32.S
993--- linux-2.6.31.2/arch/x86/kernel/syscall_table_32.S 2009-09-10 15:25:47.000000000 +0200
994+++ linux-2.6.31.2-vs2.3.0.36.15/arch/x86/kernel/syscall_table_32.S 2009-09-10 16:11:43.000000000 +0200
2380c486
JR
995@@ -272,7 +272,7 @@ ENTRY(sys_call_table)
996 .long sys_tgkill /* 270 */
997 .long sys_utimes
998 .long sys_fadvise64_64
999- .long sys_ni_syscall /* sys_vserver */
1000+ .long sys_vserver
1001 .long sys_mbind
1002 .long sys_get_mempolicy
1003 .long sys_set_mempolicy
4a036bed
AM
1004diff -NurpP --minimal linux-2.6.31.2/arch/xtensa/mm/fault.c linux-2.6.31.2-vs2.3.0.36.15/arch/xtensa/mm/fault.c
1005--- linux-2.6.31.2/arch/xtensa/mm/fault.c 2009-09-10 15:25:48.000000000 +0200
1006+++ linux-2.6.31.2-vs2.3.0.36.15/arch/xtensa/mm/fault.c 2009-09-29 17:30:14.000000000 +0200
1007@@ -151,7 +151,8 @@ out_of_memory:
1008 down_read(&mm->mmap_sem);
1009 goto survive;
1010 }
1011- printk("VM: killing process %s\n", current->comm);
1012+ printk("VM: killing process %s(%d:#%u)\n",
1013+ current->comm, task_pid_nr(current), current->xid);
1014 if (user_mode(regs))
1015 do_group_exit(SIGKILL);
1016 bad_page_fault(regs, address, SIGKILL);
1017diff -NurpP --minimal linux-2.6.31.2/Documentation/scheduler/sched-cfs-hard-limits.txt linux-2.6.31.2-vs2.3.0.36.15/Documentation/scheduler/sched-cfs-hard-limits.txt
1018--- linux-2.6.31.2/Documentation/scheduler/sched-cfs-hard-limits.txt 1970-01-01 01:00:00.000000000 +0100
1019+++ linux-2.6.31.2-vs2.3.0.36.15/Documentation/scheduler/sched-cfs-hard-limits.txt 2009-10-06 04:39:46.000000000 +0200
1020@@ -0,0 +1,52 @@
1021+CPU HARD LIMITS FOR CFS GROUPS
1022+==============================
1023+
1024+1. Overview
1025+2. Interface
1026+3. Examples
1027+
1028+1. Overview
1029+-----------
1030+
1031+CFS is a proportional share scheduler which tries to divide the CPU time
1032+proportionately between tasks or groups of tasks (task group/cgroup) depending
1033+on the priority/weight of the task or shares assigned to groups of tasks.
1034+In CFS, a task/task group can get more than its share of CPU if there are
1035+enough idle CPU cycles available in the system, due to the work conserving
1036+nature of the scheduler. However in certain scenarios (like pay-per-use),
1037+it is desirable not to provide extra time to a group even in the presence
1038+of idle CPU cycles. This is where hard limiting can be of use.
1039+
1040+Hard limits for task groups can be set by specifying how much CPU runtime a
1041+group can consume within a given period. If the group consumes more CPU time
1042+than the runtime in a given period, it gets throttled. None of the tasks of
1043+the throttled group gets to run until the runtime of the group gets refreshed
1044+at the beginning of the next period.
1045+
1046+2. Interface
1047+------------
1048+
1049+Hard limit feature adds 3 cgroup files for CFS group scheduler:
1050+
1051+cfs_runtime_us: Hard limit for the group in microseconds.
1052+
1053+cfs_period_us: Time period in microseconds within which hard limits is
1054+enforced.
1055+
1056+cfs_hard_limit: The control file to enable or disable hard limiting for the
1057+group.
1058+
1059+A group gets created with default values for runtime and period and with
1060+hard limit disabled. Each group can set its own values for runtime and period
1061+independent of other groups in the system.
1062+
1063+3. Examples
1064+-----------
1065+
1066+# mount -t cgroup -ocpu none /cgroups/
1067+# cd /cgroups
1068+# mkdir 1
1069+# cd 1/
1070+# echo 250000 > cfs_runtime_us /* set a 250ms runtime or limit */
1071+# echo 500000 > cfs_period_us /* set a 500ms period */
1072+# echo 1 > cfs_hard_limit /* enable hard limiting for group 1/ */
1073diff -NurpP --minimal linux-2.6.31.2/Documentation/vserver/debug.txt linux-2.6.31.2-vs2.3.0.36.15/Documentation/vserver/debug.txt
1074--- linux-2.6.31.2/Documentation/vserver/debug.txt 1970-01-01 01:00:00.000000000 +0100
1075+++ linux-2.6.31.2-vs2.3.0.36.15/Documentation/vserver/debug.txt 2009-09-10 16:11:43.000000000 +0200
2380c486 1076@@ -0,0 +1,154 @@
d337f35e 1077+
2380c486 1078+debug_cvirt:
d337f35e 1079+
2380c486
JR
1080+ 2 4 "vx_map_tgid: %p/%llx: %d -> %d"
1081+ "vx_rmap_tgid: %p/%llx: %d -> %d"
d337f35e 1082+
2380c486 1083+debug_dlim:
d337f35e 1084+
2380c486
JR
1085+ 0 1 "ALLOC (%p,#%d)%c inode (%d)"
1086+ "FREE (%p,#%d)%c inode"
1087+ 1 2 "ALLOC (%p,#%d)%c %lld bytes (%d)"
1088+ "FREE (%p,#%d)%c %lld bytes"
1089+ 2 4 "ADJUST: %lld,%lld on %ld,%ld [mult=%d]"
1090+ 3 8 "ext3_has_free_blocks(%p): %lu<%lu+1, %c, %u!=%u r=%d"
1091+ "ext3_has_free_blocks(%p): free=%lu, root=%lu"
1092+ "rcu_free_dl_info(%p)"
1093+ 4 10 "alloc_dl_info(%p,%d) = %p"
1094+ "dealloc_dl_info(%p)"
1095+ "get_dl_info(%p[#%d.%d])"
1096+ "put_dl_info(%p[#%d.%d])"
1097+ 5 20 "alloc_dl_info(%p,%d)*"
1098+ 6 40 "__hash_dl_info: %p[#%d]"
1099+ "__unhash_dl_info: %p[#%d]"
1100+ 7 80 "locate_dl_info(%p,#%d) = %p"
1101+
1102+debug_misc:
1103+
1104+ 0 1 "destroy_dqhash: %p [#0x%08x] c=%d"
1105+ "new_dqhash: %p [#0x%08x]"
1106+ "vroot[%d]_clr_dev: dev=%p[%lu,%d:%d]"
1107+ "vroot[%d]_get_real_bdev: dev=%p[%lu,%d:%d]"
1108+ "vroot[%d]_set_dev: dev=%p[%lu,%d:%d]"
1109+ "vroot_get_real_bdev not set"
1110