]> git.pld-linux.org Git - packages/kernel.git/blame - kernel-vserver-2.3.patch
- prepared for 2.6.32.54
[packages/kernel.git] / kernel-vserver-2.3.patch
CommitLineData
de26764f 1diff -NurpP --minimal linux-2.6.32.24/arch/alpha/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/alpha/Kconfig
2--- linux-2.6.32.24/arch/alpha/Kconfig 2009-12-03 20:01:49.000000000 +0100
3+++ linux-2.6.32.24-vs2.3.0.36.29.6/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"
de26764f 13diff -NurpP --minimal linux-2.6.32.24/arch/alpha/kernel/entry.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/alpha/kernel/entry.S
14--- linux-2.6.32.24/arch/alpha/kernel/entry.S 2009-06-11 17:11:46.000000000 +0200
15+++ linux-2.6.32.24-vs2.3.0.36.29.6/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
de26764f 48diff -NurpP --minimal linux-2.6.32.24/arch/alpha/kernel/osf_sys.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/alpha/kernel/osf_sys.c
49--- linux-2.6.32.24/arch/alpha/kernel/osf_sys.c 2010-10-04 08:55:48.000000000 +0200
50+++ linux-2.6.32.24-vs2.3.0.36.29.6/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 }
de26764f 60diff -NurpP --minimal linux-2.6.32.24/arch/alpha/kernel/ptrace.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/alpha/kernel/ptrace.c
61--- linux-2.6.32.24/arch/alpha/kernel/ptrace.c 2009-09-10 15:25:14.000000000 +0200
62+++ linux-2.6.32.24-vs2.3.0.36.29.6/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>
de26764f 71diff -NurpP --minimal linux-2.6.32.24/arch/alpha/kernel/systbls.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/alpha/kernel/systbls.S
72--- linux-2.6.32.24/arch/alpha/kernel/systbls.S 2009-03-24 14:18:08.000000000 +0100
73+++ linux-2.6.32.24-vs2.3.0.36.29.6/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 */
de26764f 83diff -NurpP --minimal linux-2.6.32.24/arch/alpha/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/alpha/kernel/traps.c
84--- linux-2.6.32.24/arch/alpha/kernel/traps.c 2009-06-11 17:11:46.000000000 +0200
85+++ linux-2.6.32.24-vs2.3.0.36.29.6/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));
de26764f 96diff -NurpP --minimal linux-2.6.32.24/arch/alpha/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/alpha/mm/fault.c
97--- linux-2.6.32.24/arch/alpha/mm/fault.c 2009-09-10 15:25:14.000000000 +0200
98+++ linux-2.6.32.24-vs2.3.0.36.29.6/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);
de26764f 110diff -NurpP --minimal linux-2.6.32.24/arch/arm/include/asm/tlb.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/include/asm/tlb.h
111--- linux-2.6.32.24/arch/arm/include/asm/tlb.h 2009-09-10 15:25:15.000000000 +0200
112+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/include/asm/tlb.h 2010-02-19 16:17:49.000000000 +0100
7bdf5c85 113@@ -27,6 +27,7 @@
114
115 #else /* !CONFIG_MMU */
116
117+#include <linux/vs_memory.h>
118 #include <asm/pgalloc.h>
119
120 /*
de26764f 121diff -NurpP --minimal linux-2.6.32.24/arch/arm/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/Kconfig
122--- linux-2.6.32.24/arch/arm/Kconfig 2010-10-04 08:55:48.000000000 +0200
123+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/Kconfig 2010-08-19 17:35:34.000000000 +0200
b6a25ef6 124@@ -1524,6 +1524,8 @@ source "fs/Kconfig"
d337f35e
JR
125
126 source "arch/arm/Kconfig.debug"
127
128+source "kernel/vserver/Kconfig"
129+
130 source "security/Kconfig"
131
132 source "crypto/Kconfig"
de26764f 133diff -NurpP --minimal linux-2.6.32.24/arch/arm/kernel/calls.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/kernel/calls.S
134--- linux-2.6.32.24/arch/arm/kernel/calls.S 2010-10-04 08:55:49.000000000 +0200
135+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/kernel/calls.S 2010-01-20 04:21:33.000000000 +0100
d337f35e
JR
136@@ -322,7 +322,7 @@
137 /* 310 */ CALL(sys_request_key)
138 CALL(sys_keyctl)
139 CALL(ABI(sys_semtimedop, sys_oabi_semtimedop))
140-/* vserver */ CALL(sys_ni_syscall)
141+ CALL(sys_vserver)
142 CALL(sys_ioprio_set)
143 /* 315 */ CALL(sys_ioprio_get)
144 CALL(sys_inotify_init)
de26764f 145diff -NurpP --minimal linux-2.6.32.24/arch/arm/kernel/process.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/kernel/process.c
146--- linux-2.6.32.24/arch/arm/kernel/process.c 2009-12-03 20:01:50.000000000 +0100
147+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/kernel/process.c 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 148@@ -269,7 +269,8 @@ void __show_regs(struct pt_regs *regs)
d337f35e
JR
149 void show_regs(struct pt_regs * regs)
150 {
151 printk("\n");
2380c486 152- printk("Pid: %d, comm: %20s\n", task_pid_nr(current), current->comm);
d337f35e 153+ printk("Pid: %d[#%u], comm: %20s\n",
2380c486 154+ task_pid_nr(current), current->xid, current->comm);
d337f35e
JR
155 __show_regs(regs);
156 __backtrace();
157 }
de26764f 158diff -NurpP --minimal linux-2.6.32.24/arch/arm/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/kernel/traps.c
159--- linux-2.6.32.24/arch/arm/kernel/traps.c 2009-12-03 20:01:50.000000000 +0100
160+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/arm/kernel/traps.c 2009-12-03 20:04:56.000000000 +0100
7e46296a
AM
161@@ -234,8 +234,8 @@ static void __die(const char *str, int e
162 sysfs_printk_last_file();
d337f35e
JR
163 print_modules();
164 __show_regs(regs);
7e46296a
AM
165- printk(KERN_EMERG "Process %.*s (pid: %d, stack limit = 0x%p)\n",
166- TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), thread + 1);
167+ printk(KERN_EMERG "Process %.*s (pid: %d:#%u, stack limit = 0x%p)\n",
168+ TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), tsk->xid, thread + 1);
d337f35e
JR
169
170 if (!user_mode(regs) || in_interrupt()) {
7e46296a 171 dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp,
de26764f 172diff -NurpP --minimal linux-2.6.32.24/arch/avr32/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/avr32/mm/fault.c
173--- linux-2.6.32.24/arch/avr32/mm/fault.c 2009-09-10 15:25:20.000000000 +0200
174+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/avr32/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
175@@ -216,7 +216,8 @@ out_of_memory:
176 down_read(&mm->mmap_sem);
177 goto survive;
178 }
179- printk("VM: Killing process %s\n", tsk->comm);
180+ printk("VM: Killing process %s(%d:#%u)\n",
181+ tsk->comm, task_pid_nr(tsk), tsk->xid);
182 if (user_mode(regs))
183 do_group_exit(SIGKILL);
184 goto no_context;
de26764f 185diff -NurpP --minimal linux-2.6.32.24/arch/cris/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/cris/Kconfig
186--- linux-2.6.32.24/arch/cris/Kconfig 2009-06-11 17:11:56.000000000 +0200
187+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/cris/Kconfig 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 188@@ -685,6 +685,8 @@ source "drivers/staging/Kconfig"
d337f35e
JR
189
190 source "arch/cris/Kconfig.debug"
191
192+source "kernel/vserver/Kconfig"
193+
194 source "security/Kconfig"
195
196 source "crypto/Kconfig"
de26764f 197diff -NurpP --minimal linux-2.6.32.24/arch/cris/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/cris/mm/fault.c
198--- linux-2.6.32.24/arch/cris/mm/fault.c 2009-12-03 20:01:56.000000000 +0100
199+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/cris/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
200@@ -245,7 +245,8 @@ do_page_fault(unsigned long address, str
201
202 out_of_memory:
203 up_read(&mm->mmap_sem);
204- printk("VM: killing process %s\n", tsk->comm);
205+ printk("VM: killing process %s(%d:#%u)\n",
206+ tsk->comm, task_pid_nr(tsk), tsk->xid);
207 if (user_mode(regs))
208 do_exit(SIGKILL);
209 goto no_context;
de26764f 210diff -NurpP --minimal linux-2.6.32.24/arch/frv/kernel/kernel_thread.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/frv/kernel/kernel_thread.S
211--- linux-2.6.32.24/arch/frv/kernel/kernel_thread.S 2008-12-25 00:26:37.000000000 +0100
212+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/frv/kernel/kernel_thread.S 2009-12-03 20:04:56.000000000 +0100
2380c486 213@@ -37,7 +37,7 @@ kernel_thread:
d337f35e
JR
214
215 # start by forking the current process, but with shared VM
216 setlos.p #__NR_clone,gr7 ; syscall number
217- ori gr10,#CLONE_VM,gr8 ; first syscall arg [clone_flags]
218+ ori gr10,#CLONE_KT,gr8 ; first syscall arg [clone_flags]
219 sethi.p #0xe4e4,gr9 ; second syscall arg [newsp]
220 setlo #0xe4e4,gr9
221 setlos.p #0,gr10 ; third syscall arg [parent_tidptr]
de26764f 222diff -NurpP --minimal linux-2.6.32.24/arch/frv/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/frv/mm/fault.c
223--- linux-2.6.32.24/arch/frv/mm/fault.c 2009-09-10 15:25:22.000000000 +0200
224+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/frv/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
225@@ -257,7 +257,8 @@ asmlinkage void do_page_fault(int datamm
226 */
227 out_of_memory:
228 up_read(&mm->mmap_sem);
229- printk("VM: killing process %s\n", current->comm);
230+ printk("VM: killing process %s(%d:#%u)\n",
231+ current->comm, task_pid_nr(current), current->xid);
232 if (user_mode(__frame))
233 do_group_exit(SIGKILL);
234 goto no_context;
de26764f 235diff -NurpP --minimal linux-2.6.32.24/arch/h8300/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/h8300/Kconfig
236--- linux-2.6.32.24/arch/h8300/Kconfig 2009-03-24 14:18:24.000000000 +0100
237+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/h8300/Kconfig 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 238@@ -226,6 +226,8 @@ source "fs/Kconfig"
d337f35e
JR
239
240 source "arch/h8300/Kconfig.debug"
241
242+source "kernel/vserver/Kconfig"
243+
244 source "security/Kconfig"
245
246 source "crypto/Kconfig"
de26764f 247diff -NurpP --minimal linux-2.6.32.24/arch/ia64/ia32/ia32_entry.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/ia32/ia32_entry.S
248--- linux-2.6.32.24/arch/ia64/ia32/ia32_entry.S 2009-06-11 17:11:57.000000000 +0200
249+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/ia32/ia32_entry.S 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 250@@ -451,7 +451,7 @@ ia32_syscall_table:
2380c486
JR
251 data8 sys_tgkill /* 270 */
252 data8 compat_sys_utimes
253 data8 sys32_fadvise64_64
254- data8 sys_ni_syscall
255+ data8 sys32_vserver
256 data8 sys_ni_syscall
257 data8 sys_ni_syscall /* 275 */
258 data8 sys_ni_syscall
de26764f 259diff -NurpP --minimal linux-2.6.32.24/arch/ia64/include/asm/tlb.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/include/asm/tlb.h
260--- linux-2.6.32.24/arch/ia64/include/asm/tlb.h 2009-09-10 15:25:22.000000000 +0200
261+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/include/asm/tlb.h 2009-12-31 14:37:34.000000000 +0100
0411181d
AM
262@@ -40,6 +40,7 @@
263 #include <linux/mm.h>
264 #include <linux/pagemap.h>
265 #include <linux/swap.h>
266+#include <linux/vs_memory.h>
267
268 #include <asm/pgalloc.h>
269 #include <asm/processor.h>
de26764f 270diff -NurpP --minimal linux-2.6.32.24/arch/ia64/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/Kconfig
271--- linux-2.6.32.24/arch/ia64/Kconfig 2009-12-03 20:01:56.000000000 +0100
272+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/Kconfig 2009-12-03 20:04:56.000000000 +0100
7e46296a 273@@ -685,6 +685,8 @@ source "fs/Kconfig"
2380c486
JR
274
275 source "arch/ia64/Kconfig.debug"
d337f35e
JR
276
277+source "kernel/vserver/Kconfig"
278+
279 source "security/Kconfig"
280
281 source "crypto/Kconfig"
de26764f 282diff -NurpP --minimal linux-2.6.32.24/arch/ia64/kernel/entry.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/entry.S
283--- linux-2.6.32.24/arch/ia64/kernel/entry.S 2009-09-10 15:25:22.000000000 +0200
284+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/entry.S 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 285@@ -1753,7 +1753,7 @@ sys_call_table:
2380c486
JR
286 data8 sys_mq_notify
287 data8 sys_mq_getsetattr
288 data8 sys_kexec_load
289- data8 sys_ni_syscall // reserved for vserver
290+ data8 sys_vserver
291 data8 sys_waitid // 1270
292 data8 sys_add_key
293 data8 sys_request_key
de26764f 294diff -NurpP --minimal linux-2.6.32.24/arch/ia64/kernel/perfmon.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/perfmon.c
295--- linux-2.6.32.24/arch/ia64/kernel/perfmon.c 2009-09-10 15:25:22.000000000 +0200
296+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/perfmon.c 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 297@@ -41,6 +41,7 @@
2380c486
JR
298 #include <linux/rcupdate.h>
299 #include <linux/completion.h>
ec22aa5c 300 #include <linux/tracehook.h>
2380c486 301+#include <linux/vs_memory.h>
d337f35e 302
2380c486
JR
303 #include <asm/errno.h>
304 #include <asm/intrinsics.h>
ec22aa5c 305@@ -2372,7 +2373,7 @@ pfm_smpl_buffer_alloc(struct task_struct
2380c486
JR
306 */
307 insert_vm_struct(mm, vma);
d337f35e 308
2380c486
JR
309- mm->total_vm += size >> PAGE_SHIFT;
310+ vx_vmpages_add(mm, size >> PAGE_SHIFT);
311 vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file,
312 vma_pages(vma));
313 up_write(&task->mm->mmap_sem);
de26764f 314diff -NurpP --minimal linux-2.6.32.24/arch/ia64/kernel/process.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/process.c
315--- linux-2.6.32.24/arch/ia64/kernel/process.c 2009-12-03 20:01:56.000000000 +0100
316+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/process.c 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 317@@ -110,8 +110,8 @@ show_regs (struct pt_regs *regs)
2380c486 318 unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri;
d337f35e 319
2380c486
JR
320 print_modules();
321- printk("\nPid: %d, CPU %d, comm: %20s\n", task_pid_nr(current),
322- smp_processor_id(), current->comm);
323+ printk("\nPid: %d[#%u], CPU %d, comm: %20s\n", task_pid_nr(current),
324+ current->xid, smp_processor_id(), current->comm);
325 printk("psr : %016lx ifs : %016lx ip : [<%016lx>] %s (%s)\n",
326 regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(),
327 init_utsname()->release);
de26764f 328diff -NurpP --minimal linux-2.6.32.24/arch/ia64/kernel/ptrace.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/ptrace.c
329--- linux-2.6.32.24/arch/ia64/kernel/ptrace.c 2009-09-10 15:25:22.000000000 +0200
330+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/ptrace.c 2009-12-03 20:04:56.000000000 +0100
23f740c4 331@@ -22,6 +22,7 @@
2380c486 332 #include <linux/regset.h>
d337f35e 333 #include <linux/elf.h>
ec22aa5c 334 #include <linux/tracehook.h>
d337f35e
JR
335+#include <linux/vs_base.h>
336
337 #include <asm/pgtable.h>
338 #include <asm/processor.h>
de26764f 339diff -NurpP --minimal linux-2.6.32.24/arch/ia64/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/traps.c
340--- linux-2.6.32.24/arch/ia64/kernel/traps.c 2008-12-25 00:26:37.000000000 +0100
341+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/kernel/traps.c 2009-12-03 20:04:56.000000000 +0100
2380c486 342@@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re
d337f35e
JR
343 put_cpu();
344
345 if (++die.lock_owner_depth < 3) {
346- printk("%s[%d]: %s %ld [%d]\n",
2380c486 347- current->comm, task_pid_nr(current), str, err, ++die_counter);
d337f35e 348+ printk("%s[%d[#%u]]: %s %ld [%d]\n",
2380c486 349+ current->comm, task_pid_nr(current), current->xid,
d337f35e 350+ str, err, ++die_counter);
2380c486
JR
351 if (notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV)
352 != NOTIFY_STOP)
353 show_regs(regs);
354@@ -324,8 +325,9 @@ handle_fpu_swa (int fp_fault, struct pt_
355 if ((last.count & 15) < 5 && (ia64_fetchadd(1, &last.count, acq) & 15) < 5) {
356 last.time = current_jiffies + 5 * HZ;
357 printk(KERN_WARNING
358- "%s(%d): floating-point assist fault at ip %016lx, isr %016lx\n",
359- current->comm, task_pid_nr(current), regs->cr_iip + ia64_psr(regs)->ri, isr);
360+ "%s(%d[#%u]): floating-point assist fault at ip %016lx, isr %016lx\n",
361+ current->comm, task_pid_nr(current), current->xid,
362+ regs->cr_iip + ia64_psr(regs)->ri, isr);
363 }
364 }
d337f35e 365 }
de26764f 366diff -NurpP --minimal linux-2.6.32.24/arch/ia64/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/mm/fault.c
367--- linux-2.6.32.24/arch/ia64/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
368+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/ia64/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
d337f35e 369@@ -10,6 +10,7 @@
d337f35e
JR
370 #include <linux/interrupt.h>
371 #include <linux/kprobes.h>
2380c486 372 #include <linux/kdebug.h>
d337f35e
JR
373+#include <linux/vs_memory.h>
374
375 #include <asm/pgtable.h>
376 #include <asm/processor.h>
4a036bed
AM
377@@ -281,7 +282,8 @@ ia64_do_page_fault (unsigned long addres
378 down_read(&mm->mmap_sem);
379 goto survive;
380 }
381- printk(KERN_CRIT "VM: killing process %s\n", current->comm);
382+ printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n",
383+ current->comm, task_pid_nr(current), current->xid);
384 if (user_mode(regs))
385 do_group_exit(SIGKILL);
386 goto no_context;
de26764f 387diff -NurpP --minimal linux-2.6.32.24/arch/m32r/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/m32r/kernel/traps.c
388--- linux-2.6.32.24/arch/m32r/kernel/traps.c 2009-12-03 20:01:57.000000000 +0100
389+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/m32r/kernel/traps.c 2009-12-03 20:04:56.000000000 +0100
2380c486 390@@ -196,8 +196,9 @@ static void show_registers(struct pt_reg
d337f35e
JR
391 } else {
392 printk("SPI: %08lx\n", sp);
393 }
394- printk("Process %s (pid: %d, process nr: %d, stackpage=%08lx)",
2380c486 395- current->comm, task_pid_nr(current), 0xffff & i, 4096+(unsigned long)current);
d337f35e 396+ printk("Process %s (pid: %d[#%u], process nr: %d, stackpage=%08lx)",
2380c486 397+ current->comm, task_pid_nr(current), current->xid,
d337f35e
JR
398+ 0xffff & i, 4096+(unsigned long)current);
399
400 /*
401 * When in-kernel, we also print out the stack and code at the
de26764f 402diff -NurpP --minimal linux-2.6.32.24/arch/m32r/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/m32r/mm/fault.c
403--- linux-2.6.32.24/arch/m32r/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
404+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/m32r/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
405@@ -276,7 +276,8 @@ out_of_memory:
406 down_read(&mm->mmap_sem);
407 goto survive;
408 }
409- printk("VM: killing process %s\n", tsk->comm);
410+ printk("VM: killing process %s(%d:#%u)\n",
411+ tsk->comm, task_pid_nr(tsk), tsk->xid);
412 if (error_code & ACE_USERMODE)
413 do_group_exit(SIGKILL);
414 goto no_context;
de26764f 415diff -NurpP --minimal linux-2.6.32.24/arch/m68k/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68k/Kconfig
416--- linux-2.6.32.24/arch/m68k/Kconfig 2009-12-03 20:01:57.000000000 +0100
417+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68k/Kconfig 2009-12-03 20:04:56.000000000 +0100
7e46296a 418@@ -622,6 +622,8 @@ source "fs/Kconfig"
d337f35e
JR
419
420 source "arch/m68k/Kconfig.debug"
421
422+source "kernel/vserver/Kconfig"
423+
424 source "security/Kconfig"
425
426 source "crypto/Kconfig"
de26764f 427diff -NurpP --minimal linux-2.6.32.24/arch/m68k/kernel/ptrace.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68k/kernel/ptrace.c
428--- linux-2.6.32.24/arch/m68k/kernel/ptrace.c 2008-12-25 00:26:37.000000000 +0100
429+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68k/kernel/ptrace.c 2009-12-03 20:04:56.000000000 +0100
2380c486 430@@ -18,6 +18,7 @@
d337f35e
JR
431 #include <linux/ptrace.h>
432 #include <linux/user.h>
433 #include <linux/signal.h>
434+#include <linux/vs_base.h>
435
436 #include <asm/uaccess.h>
437 #include <asm/page.h>
2380c486 438@@ -269,6 +270,8 @@ long arch_ptrace(struct task_struct *chi
d337f35e
JR
439 ret = ptrace_request(child, request, addr, data);
440 break;
441 }
2380c486 442+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT))
d337f35e
JR
443+ goto out_tsk;
444
445 return ret;
446 out_eio:
de26764f 447diff -NurpP --minimal linux-2.6.32.24/arch/m68k/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68k/kernel/traps.c
448--- linux-2.6.32.24/arch/m68k/kernel/traps.c 2009-09-10 15:25:23.000000000 +0200
449+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68k/kernel/traps.c 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 450@@ -906,8 +906,8 @@ void show_registers(struct pt_regs *regs
d337f35e
JR
451 printk("d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n",
452 regs->d4, regs->d5, regs->a0, regs->a1);
453
454- printk("Process %s (pid: %d, task=%p)\n",
2380c486 455- current->comm, task_pid_nr(current), current);
d337f35e 456+ printk("Process %s (pid: %d[#%u], task=%p)\n",
2380c486 457+ current->comm, task_pid_nr(current), current->xid, current);
d337f35e
JR
458 addr = (unsigned long)&fp->un;
459 printk("Frame format=%X ", regs->format);
460 switch (regs->format) {
de26764f 461diff -NurpP --minimal linux-2.6.32.24/arch/m68k/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68k/mm/fault.c
462--- linux-2.6.32.24/arch/m68k/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
463+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68k/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
464@@ -186,7 +186,8 @@ out_of_memory:
465 goto survive;
466 }
467
468- printk("VM: killing process %s\n", current->comm);
469+ printk("VM: killing process %s(%d:#%u)\n",
470+ current->comm, task_pid_nr(current), current->xid);
471 if (user_mode(regs))
472 do_group_exit(SIGKILL);
473
de26764f 474diff -NurpP --minimal linux-2.6.32.24/arch/m68knommu/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68knommu/Kconfig
475--- linux-2.6.32.24/arch/m68knommu/Kconfig 2009-12-03 20:01:57.000000000 +0100
476+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68knommu/Kconfig 2009-12-03 20:04:56.000000000 +0100
7e46296a 477@@ -727,6 +727,8 @@ source "fs/Kconfig"
d337f35e
JR
478
479 source "arch/m68knommu/Kconfig.debug"
480
481+source "kernel/vserver/Kconfig"
482+
483 source "security/Kconfig"
484
485 source "crypto/Kconfig"
de26764f 486diff -NurpP --minimal linux-2.6.32.24/arch/m68knommu/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68knommu/kernel/traps.c
487--- linux-2.6.32.24/arch/m68knommu/kernel/traps.c 2009-09-10 15:25:23.000000000 +0200
488+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/m68knommu/kernel/traps.c 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 489@@ -78,8 +78,9 @@ void die_if_kernel(char *str, struct pt_
d337f35e
JR
490 printk(KERN_EMERG "d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n",
491 fp->d4, fp->d5, fp->a0, fp->a1);
492
493- printk(KERN_EMERG "Process %s (pid: %d, stackpage=%08lx)\n",
494- current->comm, current->pid, PAGE_SIZE+(unsigned long)current);
495+ printk(KERN_EMERG "Process %s (pid: %d[#%u], stackpage=%08lx)\n",
2380c486 496+ current->comm, task_pid_nr(current), current->xid,
d337f35e 497+ PAGE_SIZE+(unsigned long)current);
2380c486
JR
498 show_stack(NULL, (unsigned long *)(fp + 1));
499 add_taint(TAINT_DIE);
d337f35e 500 do_exit(SIGSEGV);
de26764f 501diff -NurpP --minimal linux-2.6.32.24/arch/microblaze/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/microblaze/mm/fault.c
502--- linux-2.6.32.24/arch/microblaze/mm/fault.c 2009-09-10 15:25:24.000000000 +0200
503+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/microblaze/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
504@@ -279,7 +279,8 @@ out_of_memory:
505 goto survive;
506 }
507 up_read(&mm->mmap_sem);
508- printk(KERN_WARNING "VM: killing process %s\n", current->comm);
509+ printk(KERN_WARNING "VM: killing process %s(%d:#%u)\n",
510+ current->comm, task_pid_nr(current), current->xid);
511 if (user_mode(regs))
512 do_exit(SIGKILL);
513 bad_page_fault(regs, address, SIGKILL);
de26764f 514diff -NurpP --minimal linux-2.6.32.24/arch/mips/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/Kconfig
515--- linux-2.6.32.24/arch/mips/Kconfig 2009-12-03 20:01:58.000000000 +0100
516+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/Kconfig 2009-12-03 20:04:56.000000000 +0100
7e46296a 517@@ -2188,6 +2188,8 @@ source "fs/Kconfig"
d337f35e
JR
518
519 source "arch/mips/Kconfig.debug"
520
521+source "kernel/vserver/Kconfig"
522+
523 source "security/Kconfig"
524
525 source "crypto/Kconfig"
de26764f 526diff -NurpP --minimal linux-2.6.32.24/arch/mips/kernel/ptrace.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/ptrace.c
527--- linux-2.6.32.24/arch/mips/kernel/ptrace.c 2008-12-25 00:26:37.000000000 +0100
528+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/ptrace.c 2009-12-03 20:04:56.000000000 +0100
2380c486 529@@ -25,6 +25,7 @@
d337f35e 530 #include <linux/security.h>
2380c486
JR
531 #include <linux/audit.h>
532 #include <linux/seccomp.h>
d337f35e
JR
533+#include <linux/vs_base.h>
534
535 #include <asm/byteorder.h>
536 #include <asm/cpu.h>
ec22aa5c 537@@ -259,6 +260,9 @@ long arch_ptrace(struct task_struct *chi
d337f35e
JR
538 {
539 int ret;
540
2380c486 541+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT))
d337f35e
JR
542+ goto out;
543+
544 switch (request) {
545 /* when I and D space are separate, these will need to be fixed. */
546 case PTRACE_PEEKTEXT: /* read word at location addr. */
de26764f 547diff -NurpP --minimal linux-2.6.32.24/arch/mips/kernel/scall32-o32.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/scall32-o32.S
548--- linux-2.6.32.24/arch/mips/kernel/scall32-o32.S 2009-12-03 20:01:59.000000000 +0100
549+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/scall32-o32.S 2009-12-03 20:04:56.000000000 +0100
7e46296a 550@@ -525,7 +525,7 @@ einval: li v0, -ENOSYS
d337f35e
JR
551 sys sys_mq_timedreceive 5
552 sys sys_mq_notify 2 /* 4275 */
553 sys sys_mq_getsetattr 3
554- sys sys_ni_syscall 0 /* sys_vserver */
555+ sys sys_vserver 3
556 sys sys_waitid 5
557 sys sys_ni_syscall 0 /* available, was setaltroot */
558 sys sys_add_key 5 /* 4280 */
de26764f 559diff -NurpP --minimal linux-2.6.32.24/arch/mips/kernel/scall64-64.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/scall64-64.S
560--- linux-2.6.32.24/arch/mips/kernel/scall64-64.S 2009-12-03 20:01:59.000000000 +0100
561+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/scall64-64.S 2009-12-03 20:04:56.000000000 +0100
7e46296a 562@@ -362,7 +362,7 @@ sys_call_table:
d337f35e
JR
563 PTR sys_mq_timedreceive
564 PTR sys_mq_notify
565 PTR sys_mq_getsetattr /* 5235 */
566- PTR sys_ni_syscall /* sys_vserver */
567+ PTR sys_vserver
568 PTR sys_waitid
569 PTR sys_ni_syscall /* available, was setaltroot */
570 PTR sys_add_key
de26764f 571diff -NurpP --minimal linux-2.6.32.24/arch/mips/kernel/scall64-n32.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/scall64-n32.S
572--- linux-2.6.32.24/arch/mips/kernel/scall64-n32.S 2009-12-03 20:01:59.000000000 +0100
573+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/scall64-n32.S 2009-12-03 20:04:56.000000000 +0100
d337f35e
JR
574@@ -360,7 +360,7 @@ EXPORT(sysn32_call_table)
575 PTR compat_sys_mq_timedreceive
576 PTR compat_sys_mq_notify
577 PTR compat_sys_mq_getsetattr
578- PTR sys_ni_syscall /* 6240, sys_vserver */
579+ PTR sys32_vserver /* 6240 */
2380c486 580 PTR compat_sys_waitid
d337f35e
JR
581 PTR sys_ni_syscall /* available, was setaltroot */
582 PTR sys_add_key
de26764f 583diff -NurpP --minimal linux-2.6.32.24/arch/mips/kernel/scall64-o32.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/scall64-o32.S
584--- linux-2.6.32.24/arch/mips/kernel/scall64-o32.S 2009-12-03 20:01:59.000000000 +0100
585+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/scall64-o32.S 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 586@@ -480,7 +480,7 @@ sys_call_table:
d337f35e
JR
587 PTR compat_sys_mq_timedreceive
588 PTR compat_sys_mq_notify /* 4275 */
589 PTR compat_sys_mq_getsetattr
590- PTR sys_ni_syscall /* sys_vserver */
591+ PTR sys32_vserver
2380c486 592 PTR sys_32_waitid
d337f35e
JR
593 PTR sys_ni_syscall /* available, was setaltroot */
594 PTR sys_add_key /* 4280 */
de26764f 595diff -NurpP --minimal linux-2.6.32.24/arch/mips/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/traps.c
596--- linux-2.6.32.24/arch/mips/kernel/traps.c 2009-12-03 20:01:59.000000000 +0100
597+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/mips/kernel/traps.c 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 598@@ -335,9 +335,10 @@ void show_registers(const struct pt_regs
2380c486
JR
599
600 __show_regs(regs);
d337f35e 601 print_modules();
2380c486
JR
602- printk("Process %s (pid: %d, threadinfo=%p, task=%p, tls=%0*lx)\n",
603- current->comm, current->pid, current_thread_info(), current,
604- field, current_thread_info()->tp_value);
605+ printk("Process %s (pid: %d:#%u, threadinfo=%p, task=%p, tls=%0*lx)\n",
606+ current->comm, task_pid_nr(current), current->xid,
607+ current_thread_info(), current,
608+ field, current_thread_info()->tp_value);
609 if (cpu_has_userlocal) {
610 unsigned long tls;
611
de26764f 612diff -NurpP --minimal linux-2.6.32.24/arch/mn10300/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/mn10300/mm/fault.c
613--- linux-2.6.32.24/arch/mn10300/mm/fault.c 2009-09-10 15:25:39.000000000 +0200
614+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/mn10300/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
615@@ -339,7 +339,8 @@ no_context:
616 out_of_memory:
617 up_read(&mm->mmap_sem);
618 monitor_signal(regs);
619- printk(KERN_ALERT "VM: killing process %s\n", tsk->comm);
620+ printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n",
621+ tsk->comm, task_pid_nr(tsk), tsk->xid);
622 if ((fault_code & MMUFCR_xFC_ACCESS) == MMUFCR_xFC_ACCESS_USR)
623 do_exit(SIGKILL);
624 goto no_context;
de26764f 625diff -NurpP --minimal linux-2.6.32.24/arch/parisc/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/parisc/Kconfig
626--- linux-2.6.32.24/arch/parisc/Kconfig 2009-12-03 20:02:00.000000000 +0100
627+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/parisc/Kconfig 2009-12-03 20:04:56.000000000 +0100
7e46296a 628@@ -294,6 +294,8 @@ source "fs/Kconfig"
d337f35e
JR
629
630 source "arch/parisc/Kconfig.debug"
631
632+source "kernel/vserver/Kconfig"
633+
634 source "security/Kconfig"
635
636 source "crypto/Kconfig"
de26764f 637diff -NurpP --minimal linux-2.6.32.24/arch/parisc/kernel/syscall_table.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/parisc/kernel/syscall_table.S
638--- linux-2.6.32.24/arch/parisc/kernel/syscall_table.S 2009-12-03 20:02:00.000000000 +0100
639+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/parisc/kernel/syscall_table.S 2009-12-03 20:04:56.000000000 +0100
2380c486 640@@ -361,7 +361,7 @@
d337f35e
JR
641 ENTRY_COMP(mbind) /* 260 */
642 ENTRY_COMP(get_mempolicy)
643 ENTRY_COMP(set_mempolicy)
644- ENTRY_SAME(ni_syscall) /* 263: reserved for vserver */
645+ ENTRY_DIFF(vserver)
646 ENTRY_SAME(add_key)
647 ENTRY_SAME(request_key) /* 265 */
648 ENTRY_SAME(keyctl)
de26764f 649diff -NurpP --minimal linux-2.6.32.24/arch/parisc/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/parisc/kernel/traps.c
650--- linux-2.6.32.24/arch/parisc/kernel/traps.c 2009-09-10 15:25:40.000000000 +0200
651+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/parisc/kernel/traps.c 2009-12-03 20:04:56.000000000 +0100
2380c486 652@@ -236,8 +236,9 @@ void die_if_kernel(char *str, struct pt_
d337f35e
JR
653 if (err == 0)
654 return; /* STFU */
655
656- printk(KERN_CRIT "%s (pid %d): %s (code %ld) at " RFMT "\n",
2380c486 657- current->comm, task_pid_nr(current), str, err, regs->iaoq[0]);
d337f35e 658+ printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld) at " RFMT "\n",
2380c486 659+ current->comm, task_pid_nr(current), current->xid,
d337f35e
JR
660+ str, err, regs->iaoq[0]);
661 #ifdef PRINT_USER_FAULTS
662 /* XXX for debugging only */
663 show_regs(regs);
ec22aa5c 664@@ -270,8 +271,8 @@ void die_if_kernel(char *str, struct pt_
d337f35e
JR
665 pdc_console_restart();
666
2380c486
JR
667 if (err)
668- printk(KERN_CRIT "%s (pid %d): %s (code %ld)\n",
669- current->comm, task_pid_nr(current), str, err);
670+ printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld)\n",
671+ current->comm, task_pid_nr(current), current->xid, str, err);
672
673 /* Wot's wrong wif bein' racy? */
674 if (current->thread.flags & PARISC_KERNEL_DEATH) {
de26764f 675diff -NurpP --minimal linux-2.6.32.24/arch/parisc/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/parisc/mm/fault.c
676--- linux-2.6.32.24/arch/parisc/mm/fault.c 2009-09-10 15:25:40.000000000 +0200
677+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/parisc/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
ec22aa5c 678@@ -237,8 +237,9 @@ bad_area:
d337f35e
JR
679
680 #ifdef PRINT_USER_FAULTS
681 printk(KERN_DEBUG "\n");
682- printk(KERN_DEBUG "do_page_fault() pid=%d command='%s' type=%lu address=0x%08lx\n",
2380c486 683- task_pid_nr(tsk), tsk->comm, code, address);
d337f35e
JR
684+ printk(KERN_DEBUG "do_page_fault() pid=%d:#%u "
685+ "command='%s' type=%lu address=0x%08lx\n",
2380c486 686+ task_pid_nr(tsk), tsk->xid, tsk->comm, code, address);
d337f35e
JR
687 if (vma) {
688 printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n",
689 vma->vm_start, vma->vm_end);
ec22aa5c 690@@ -264,7 +265,8 @@ no_context:
2380c486
JR
691
692 out_of_memory:
693 up_read(&mm->mmap_sem);
694- printk(KERN_CRIT "VM: killing process %s\n", current->comm);
695+ printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n",
696+ current->comm, current->pid, current->xid);
697 if (user_mode(regs))
698 do_group_exit(SIGKILL);
699 goto no_context;
de26764f 700diff -NurpP --minimal linux-2.6.32.24/arch/powerpc/include/asm/unistd.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/powerpc/include/asm/unistd.h
701--- linux-2.6.32.24/arch/powerpc/include/asm/unistd.h 2009-12-03 20:02:01.000000000 +0100
702+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/powerpc/include/asm/unistd.h 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
703@@ -275,7 +275,7 @@
704 #endif
705 #define __NR_rtas 255
706 #define __NR_sys_debug_setcontext 256
707-/* Number 257 is reserved for vserver */
06102837 708+#define __NR_vserver 257
4a036bed
AM
709 #define __NR_migrate_pages 258
710 #define __NR_mbind 259
711 #define __NR_get_mempolicy 260
de26764f 712diff -NurpP --minimal linux-2.6.32.24/arch/powerpc/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/powerpc/Kconfig
713--- linux-2.6.32.24/arch/powerpc/Kconfig 2009-12-03 20:02:00.000000000 +0100
714+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/powerpc/Kconfig 2009-12-03 20:04:56.000000000 +0100
7e46296a 715@@ -943,6 +943,8 @@ source "lib/Kconfig"
d337f35e
JR
716
717 source "arch/powerpc/Kconfig.debug"
718
719+source "kernel/vserver/Kconfig"
720+
721 source "security/Kconfig"
722
723 config KEYS_COMPAT
de26764f 724diff -NurpP --minimal linux-2.6.32.24/arch/powerpc/kernel/process.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/powerpc/kernel/process.c
725--- linux-2.6.32.24/arch/powerpc/kernel/process.c 2010-10-04 08:55:52.000000000 +0200
726+++ linux-2.6.32.24-vs2.3.0.36.29.6/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());
de26764f 739diff -NurpP --minimal linux-2.6.32.24/arch/powerpc/kernel/traps.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/powerpc/kernel/traps.c
740--- linux-2.6.32.24/arch/powerpc/kernel/traps.c 2009-09-10 15:25:41.000000000 +0200
741+++ linux-2.6.32.24-vs2.3.0.36.29.6/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
de26764f 754diff -NurpP --minimal linux-2.6.32.24/arch/powerpc/kernel/vdso.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/powerpc/kernel/vdso.c
755--- linux-2.6.32.24/arch/powerpc/kernel/vdso.c 2009-12-03 20:02:02.000000000 +0100
756+++ linux-2.6.32.24-vs2.3.0.36.29.6/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>
de26764f 765diff -NurpP --minimal linux-2.6.32.24/arch/powerpc/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/powerpc/mm/fault.c
766--- linux-2.6.32.24/arch/powerpc/mm/fault.c 2009-12-03 20:02:02.000000000 +0100
767+++ linux-2.6.32.24-vs2.3.0.36.29.6/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;
de26764f 778diff -NurpP --minimal linux-2.6.32.24/arch/s390/include/asm/tlb.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/s390/include/asm/tlb.h
779--- linux-2.6.32.24/arch/s390/include/asm/tlb.h 2009-09-10 15:25:43.000000000 +0200
780+++ linux-2.6.32.24-vs2.3.0.36.29.6/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>
de26764f 790diff -NurpP --minimal linux-2.6.32.24/arch/s390/include/asm/unistd.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/s390/include/asm/unistd.h
791--- linux-2.6.32.24/arch/s390/include/asm/unistd.h 2009-12-03 20:02:03.000000000 +0100
792+++ linux-2.6.32.24-vs2.3.0.36.29.6/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
de26764f 802diff -NurpP --minimal linux-2.6.32.24/arch/s390/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/s390/Kconfig
803--- linux-2.6.32.24/arch/s390/Kconfig 2009-12-03 20:02:03.000000000 +0100
804+++ linux-2.6.32.24-vs2.3.0.36.29.6/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"
de26764f 814diff -NurpP --minimal linux-2.6.32.24/arch/s390/kernel/ptrace.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/s390/kernel/ptrace.c
815--- linux-2.6.32.24/arch/s390/kernel/ptrace.c 2010-10-04 08:55:53.000000000 +0200
816+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/s390/kernel/ptrace.c 2010-05-27 19:21:36.000000000 +0200
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>
de26764f 825diff -NurpP --minimal linux-2.6.32.24/arch/s390/kernel/syscalls.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/s390/kernel/syscalls.S
826--- linux-2.6.32.24/arch/s390/kernel/syscalls.S 2009-12-03 20:02:03.000000000 +0100
827+++ linux-2.6.32.24-vs2.3.0.36.29.6/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)
de26764f 837diff -NurpP --minimal linux-2.6.32.24/arch/s390/lib/uaccess_pt.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/s390/lib/uaccess_pt.c
838--- linux-2.6.32.24/arch/s390/lib/uaccess_pt.c 2009-09-10 15:25:43.000000000 +0200
839+++ linux-2.6.32.24-vs2.3.0.36.29.6/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:
de26764f 850diff -NurpP --minimal linux-2.6.32.24/arch/sh/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/sh/Kconfig
851--- linux-2.6.32.24/arch/sh/Kconfig 2009-12-03 20:02:03.000000000 +0100
852+++ linux-2.6.32.24-vs2.3.0.36.29.6/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"
de26764f 862diff -NurpP --minimal linux-2.6.32.24/arch/sh/kernel/irq.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/sh/kernel/irq.c
863--- linux-2.6.32.24/arch/sh/kernel/irq.c 2009-12-03 20:02:10.000000000 +0100
864+++ linux-2.6.32.24-vs2.3.0.36.29.6/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>
de26764f 873diff -NurpP --minimal linux-2.6.32.24/arch/sh/kernel/vsyscall/vsyscall.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/sh/kernel/vsyscall/vsyscall.c
874--- linux-2.6.32.24/arch/sh/kernel/vsyscall/vsyscall.c 2009-03-24 14:18:42.000000000 +0100
875+++ linux-2.6.32.24-vs2.3.0.36.29.6/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
de26764f 884diff -NurpP --minimal linux-2.6.32.24/arch/sh/mm/fault_32.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/sh/mm/fault_32.c
885--- linux-2.6.32.24/arch/sh/mm/fault_32.c 2009-12-03 20:02:14.000000000 +0100
886+++ linux-2.6.32.24-vs2.3.0.36.29.6/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;
de26764f 897diff -NurpP --minimal linux-2.6.32.24/arch/sh/mm/tlbflush_64.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/sh/mm/tlbflush_64.c
898--- linux-2.6.32.24/arch/sh/mm/tlbflush_64.c 2009-12-03 20:02:14.000000000 +0100
899+++ linux-2.6.32.24-vs2.3.0.36.29.6/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;
de26764f 910diff -NurpP --minimal linux-2.6.32.24/arch/sparc/include/asm/tlb_64.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/sparc/include/asm/tlb_64.h
911--- linux-2.6.32.24/arch/sparc/include/asm/tlb_64.h 2009-09-10 15:25:45.000000000 +0200
912+++ linux-2.6.32.24-vs2.3.0.36.29.6/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>
de26764f 921diff -NurpP --minimal linux-2.6.32.24/arch/sparc/include/asm/unistd.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/sparc/include/asm/unistd.h
922--- linux-2.6.32.24/arch/sparc/include/asm/unistd.h 2009-12-03 20:02:15.000000000 +0100
923+++ linux-2.6.32.24-vs2.3.0.36.29.6/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
de26764f 933diff -NurpP --minimal linux-2.6.32.24/arch/sparc/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/sparc/Kconfig
934--- linux-2.6.32.24/arch/sparc/Kconfig 2009-12-03 20:02:14.000000000 +0100
935+++ linux-2.6.32.24-vs2.3.0.36.29.6/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"
de26764f 945diff -NurpP --minimal linux-2.6.32.24/arch/sparc/kernel/systbls_32.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/sparc/kernel/systbls_32.S
946--- linux-2.6.32.24/arch/sparc/kernel/systbls_32.S 2010-10-04 08:55:54.000000000 +0200
947+++ linux-2.6.32.24-vs2.3.0.36.29.6/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
de26764f 957diff -NurpP --minimal linux-2.6.32.24/arch/sparc/kernel/systbls_64.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/sparc/kernel/systbls_64.S
958--- linux-2.6.32.24/arch/sparc/kernel/systbls_64.S 2010-10-04 08:55:54.000000000 +0200
959+++ linux-2.6.32.24-vs2.3.0.36.29.6/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
de26764f 978diff -NurpP --minimal linux-2.6.32.24/arch/um/include/asm/tlb.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/um/include/asm/tlb.h
979--- linux-2.6.32.24/arch/um/include/asm/tlb.h 2009-09-10 15:25:46.000000000 +0200
980+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/um/include/asm/tlb.h 2010-03-13 21:49:04.000000000 +0100
7bdf5c85 981@@ -3,6 +3,7 @@
982
983 #include <linux/pagemap.h>
984 #include <linux/swap.h>
985+#include <linux/vs_memory.h>
986 #include <asm/percpu.h>
987 #include <asm/pgalloc.h>
988 #include <asm/tlbflush.h>
de26764f 989diff -NurpP --minimal linux-2.6.32.24/arch/um/Kconfig.rest linux-2.6.32.24-vs2.3.0.36.29.6/arch/um/Kconfig.rest
990--- linux-2.6.32.24/arch/um/Kconfig.rest 2009-06-11 17:12:19.000000000 +0200
991+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/um/Kconfig.rest 2010-03-13 21:49:04.000000000 +0100
7bdf5c85 992@@ -18,6 +18,8 @@ source "drivers/connector/Kconfig"
993
994 source "fs/Kconfig"
995
996+source "kernel/vserver/Kconfig"
997+
998 source "security/Kconfig"
999
1000 source "crypto/Kconfig"
de26764f 1001diff -NurpP --minimal linux-2.6.32.24/arch/x86/ia32/ia32entry.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/x86/ia32/ia32entry.S
1002--- linux-2.6.32.24/arch/x86/ia32/ia32entry.S 2010-10-04 08:55:54.000000000 +0200
1003+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/x86/ia32/ia32entry.S 2010-09-22 00:48:38.000000000 +0200
1004@@ -783,7 +783,7 @@ ia32_sys_call_table:
2380c486
JR
1005 .quad sys_tgkill /* 270 */
1006 .quad compat_sys_utimes
1007 .quad sys32_fadvise64_64
1008- .quad quiet_ni_syscall /* sys_vserver */
1009+ .quad sys32_vserver
1010 .quad sys_mbind
1011 .quad compat_sys_get_mempolicy /* 275 */
1012 .quad sys_set_mempolicy
de26764f 1013diff -NurpP --minimal linux-2.6.32.24/arch/x86/include/asm/unistd_64.h linux-2.6.32.24-vs2.3.0.36.29.6/arch/x86/include/asm/unistd_64.h
1014--- linux-2.6.32.24/arch/x86/include/asm/unistd_64.h 2009-12-03 20:02:16.000000000 +0100
1015+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/x86/include/asm/unistd_64.h 2009-12-03 20:04:56.000000000 +0100
ec22aa5c
AM
1016@@ -535,7 +535,7 @@ __SYSCALL(__NR_tgkill, sys_tgkill)
1017 #define __NR_utimes 235
1018 __SYSCALL(__NR_utimes, sys_utimes)
1019 #define __NR_vserver 236
1020-__SYSCALL(__NR_vserver, sys_ni_syscall)
1021+__SYSCALL(__NR_vserver, sys_vserver)
1022 #define __NR_mbind 237
1023 __SYSCALL(__NR_mbind, sys_mbind)
1024 #define __NR_set_mempolicy 238
de26764f 1025diff -NurpP --minimal linux-2.6.32.24/arch/x86/Kconfig linux-2.6.32.24-vs2.3.0.36.29.6/arch/x86/Kconfig
1026--- linux-2.6.32.24/arch/x86/Kconfig 2010-10-04 08:55:54.000000000 +0200
1027+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/x86/Kconfig 2010-09-05 21:24:17.000000000 +0200
1028@@ -2089,6 +2089,8 @@ source "fs/Kconfig"
d337f35e 1029
2380c486 1030 source "arch/x86/Kconfig.debug"
d337f35e
JR
1031
1032+source "kernel/vserver/Kconfig"
1033+
1034 source "security/Kconfig"
1035
1036 source "crypto/Kconfig"
de26764f 1037diff -NurpP --minimal linux-2.6.32.24/arch/x86/kernel/syscall_table_32.S linux-2.6.32.24-vs2.3.0.36.29.6/arch/x86/kernel/syscall_table_32.S
1038--- linux-2.6.32.24/arch/x86/kernel/syscall_table_32.S 2010-10-04 08:55:55.000000000 +0200
1039+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/x86/kernel/syscall_table_32.S 2010-01-20 04:21:33.000000000 +0100
2380c486
JR
1040@@ -272,7 +272,7 @@ ENTRY(sys_call_table)
1041 .long sys_tgkill /* 270 */
1042 .long sys_utimes
1043 .long sys_fadvise64_64
1044- .long sys_ni_syscall /* sys_vserver */
1045+ .long sys_vserver
1046 .long sys_mbind
1047 .long sys_get_mempolicy
1048 .long sys_set_mempolicy
de26764f 1049diff -NurpP --minimal linux-2.6.32.24/arch/xtensa/mm/fault.c linux-2.6.32.24-vs2.3.0.36.29.6/arch/xtensa/mm/fault.c
1050--- linux-2.6.32.24/arch/xtensa/mm/fault.c 2009-09-10 15:25:48.000000000 +0200
1051+++ linux-2.6.32.24-vs2.3.0.36.29.6/arch/xtensa/mm/fault.c 2009-12-03 20:04:56.000000000 +0100
4a036bed
AM
1052@@ -151,7 +151,8 @@ out_of_memory:
1053 down_read(&mm->mmap_sem);
1054 goto survive;
1055 }
1056- printk("VM: killing process %s\n", current->comm);
1057+ printk("VM: killing process %s(%d:#%u)\n",
1058+ current->comm, task_pid_nr(current), current->xid);
1059 if (user_mode(regs))
1060 do_group_exit(SIGKILL);
1061 bad_page_fault(regs, address, SIGKILL);
de26764f 1062diff -NurpP --minimal linux-2.6.32.24/Documentation/scheduler/sched-cfs-hard-limits.txt linux-2.6.32.24-vs2.3.0.36.29.6/Documentation/scheduler/sched-cfs-hard-limits.txt
1063--- linux-2.6.32.24/Documentation/scheduler/sched-cfs-hard-limits.txt 1970-01-01 01:00:00.000000000 +0100
1064+++ linux-2.6.32.24-vs2.3.0.36.29.6/Documentation/scheduler/sched-cfs-hard-limits.txt 2009-12-03 20:04:56.000000000 +0100
7e46296a 1065@@ -0,0 +1,48 @@
4a036bed
AM
1066+CPU HARD LIMITS FOR CFS GROUPS
1067+==============================
1068+
1069+1. Overview
1070+2. Interface
1071+3. Examples
1072+
1073+1. Overview
1074+-----------
1075+
1076+CFS is a proportional share scheduler which tries to divide the CPU time
1077+proportionately between tasks or groups of tasks (task group/cgroup) depending
1078+on the priority/weight of the task or shares assigned to groups of tasks.
1079+In CFS, a task/task group can get more than its share of CPU if there are
1080+enough idle CPU cycles available in the system, due to the work conserving
1081+nature of the scheduler. However in certain scenarios (like pay-per-use),
1082+it is desirable not to provide extra time to a group even in the presence
1083+of idle CPU cycles. This is where hard limiting can be of use.
1084+
1085+Hard limits for task groups can be set by specifying how much CPU runtime a
1086+group can consume within a given period. If the group consumes more CPU time
1087+than the runtime in a given period, it gets throttled. None of the tasks of
1088+the throttled group gets to run until the runtime of the group gets refreshed
1089+at the beginning of the next period.
1090+
1091+2. Interface
1092+------------
1093+
7e46296a 1094+Hard limit feature adds 2 cgroup files for CFS group scheduler:
4a036bed
AM
1095+
1096+cfs_runtime_us: Hard limit for the group in microseconds.
1097+
1098+cfs_period_us: Time period in microseconds within which hard limits is
1099+enforced.
1100+
7e46296a
AM
1101+A group gets created with default values for runtime (infinite runtime which
1102+means hard limits disabled) and period (0.5s). Each group can set its own
1103+values for runtime and period independent of other groups in the system.
4a036bed
AM
1104+
1105+3. Examples
1106+-----------
1107+
1108+# mount -t cgroup -ocpu none /cgroups/
1109+# cd /cgroups
1110+# mkdir 1
1111+# cd 1/
1112+# echo 250000 > cfs_runtime_us /* set a 250ms runtime or limit */
1113+# echo 500000 > cfs_period_us /* set a 500ms period */
de26764f 1114diff -NurpP --minimal linux-2.6.32.24/Documentation/vserver/debug.txt linux-2.6.32.24-vs2.3.0.36.29.6/Documentation/vserver/debug.txt
1115--- linux-2.6.32.24/Documentation/vserver/debug.txt 1970-01-01 01:00:00.000000000 +0100
1116+++ linux-2.6.32.24-vs2.3.0.36.29.6/Documentation/vserver/debug.txt 2009-12-03 20:04:56.000000000 +0100
2380c486 1117@@ -0,0 +1,154 @@
d337f35e 1118+
2380c486 1119+debug_cvirt:
d337f35e 1120+
2380c486
JR
1121+ 2 4 "vx_map_tgid: %p/%llx: %d -> %d"
1122+ "vx_rmap_tgid: %p/%llx: %d -> %d"
d337f35e 1123+
2380c486 1124+debug_dlim:
d337f35e 1125+
2380c486
JR
1126+ 0 1 "ALLOC (%p,#%d)%c inode (%d)"
1127+ "FREE (%p,#%d)%c inode"
1128+ 1 2 "ALLOC (%p,#%d)%c %lld bytes (%d)"
1129+ "FREE (%p,#%d)%c %lld bytes"
1130+ 2 4 "ADJUST: %lld,%lld on %ld,%ld [mult=%d]"
1131+ 3 8 "ext3_has_free_blocks(%p): %lu<%lu+1, %c, %u!=%u r=%d"
1132+ "ext3_has_free_blocks(%p): free=%lu, root=%lu"
1133+ "rcu_free_dl_info(%p)"
1134+ 4 10 "alloc_dl_info(%p,%d) = %p"
1135+ "dealloc_dl_info(%p)"
1136+ "get_dl_info(%p[#%d.%d])"
1137+ "put_dl_info(%p[#%d.%d])"
1138+ 5 20 "alloc_dl_info(%p,%d)*"
1139+ 6 40 "__hash_dl_info: %p[#%d]"
1140+ "__unhash_dl_info: %p[#%d]"
1141+ 7 80 "locate_dl_info(%p,#%d) = %p"
1142+
1143+debug_misc:
1144+
1145+ 0 1 "destroy_dqhash: %p [#0x%08x] c=%d"
1146+ "new_dqhash: %p [#0x%08x]"
1147+ "vroot[%d]_clr_dev: dev=%p[%lu,%d:%d]"
1148+ "vroot[%d]_get_real_bdev: dev=%p[%lu,%d:%d]"
1149+ "vroot[%d]_set_dev: dev=%p[%lu,%d:%d]"
1150+ "vroot_get_real_bdev not set"
1151