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