]> git.pld-linux.org Git - packages/kernel.git/blame - kernel-vserver-2.3.patch
- O: kernel-firmware
[packages/kernel.git] / kernel-vserver-2.3.patch
CommitLineData
2bf5ad28
AM
1diff -NurpP --minimal linux-2.6.33/arch/alpha/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/alpha/Kconfig
2--- linux-2.6.33/arch/alpha/Kconfig 2010-02-25 11:51:18.000000000 +0100
3+++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/Kconfig 2010-02-25 12:02:16.000000000 +0100
4@@ -675,6 +675,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"
2bf5ad28
AM
13diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/entry.S linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/entry.S
14--- linux-2.6.33/arch/alpha/kernel/entry.S 2009-06-11 17:11:46.000000000 +0200
15+++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/entry.S 2010-02-25 12:02:16.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
2bf5ad28
AM
48diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/osf_sys.c linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/osf_sys.c
49--- linux-2.6.33/arch/alpha/kernel/osf_sys.c 2010-02-25 11:51:19.000000000 +0100
50+++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/osf_sys.c 2010-02-25 12:02:16.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 }
2bf5ad28
AM
60diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/ptrace.c
61--- linux-2.6.33/arch/alpha/kernel/ptrace.c 2009-09-10 15:25:14.000000000 +0200
62+++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/ptrace.c 2010-02-25 12:02:16.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>
2bf5ad28
AM
71diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/systbls.S linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/systbls.S
72--- linux-2.6.33/arch/alpha/kernel/systbls.S 2010-02-25 11:51:19.000000000 +0100
73+++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/systbls.S 2010-02-25 12:02:16.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 */
2bf5ad28
AM
83diff -NurpP --minimal linux-2.6.33/arch/alpha/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/traps.c
84--- linux-2.6.33/arch/alpha/kernel/traps.c 2009-06-11 17:11:46.000000000 +0200
85+++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/kernel/traps.c 2010-02-25 12:02:16.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));
2bf5ad28
AM
96diff -NurpP --minimal linux-2.6.33/arch/alpha/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/alpha/mm/fault.c
97--- linux-2.6.33/arch/alpha/mm/fault.c 2009-09-10 15:25:14.000000000 +0200
98+++ linux-2.6.33-vs2.3.0.36.30/arch/alpha/mm/fault.c 2010-02-25 12:02:16.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);
2bf5ad28
AM
110diff -NurpP --minimal linux-2.6.33/arch/arm/include/asm/tlb.h linux-2.6.33-vs2.3.0.36.30/arch/arm/include/asm/tlb.h
111--- linux-2.6.33/arch/arm/include/asm/tlb.h 2009-09-10 15:25:15.000000000 +0200
112+++ linux-2.6.33-vs2.3.0.36.30/arch/arm/include/asm/tlb.h 2010-02-25 12:02:16.000000000 +0100
113@@ -27,6 +27,7 @@
114
115 #else /* !CONFIG_MMU */
116
117+#include <linux/vs_memory.h>
118 #include <asm/pgalloc.h>
119
120 /*
121diff -NurpP --minimal linux-2.6.33/arch/arm/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/arm/Kconfig
122--- linux-2.6.33/arch/arm/Kconfig 2010-02-25 11:51:19.000000000 +0100
123+++ linux-2.6.33-vs2.3.0.36.30/arch/arm/Kconfig 2010-02-25 12:02:16.000000000 +0100
124@@ -1542,6 +1542,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"
2bf5ad28
AM
133diff -NurpP --minimal linux-2.6.33/arch/arm/kernel/calls.S linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/calls.S
134--- linux-2.6.33/arch/arm/kernel/calls.S 2010-02-25 11:51:20.000000000 +0100
135+++ linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/calls.S 2010-02-25 12:02:16.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)
2bf5ad28
AM
145diff -NurpP --minimal linux-2.6.33/arch/arm/kernel/process.c linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/process.c
146--- linux-2.6.33/arch/arm/kernel/process.c 2010-02-25 11:51:20.000000000 +0100
147+++ linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/process.c 2010-02-25 12:02:16.000000000 +0100
148@@ -270,7 +270,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 }
2bf5ad28
AM
158diff -NurpP --minimal linux-2.6.33/arch/arm/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/traps.c
159--- linux-2.6.33/arch/arm/kernel/traps.c 2009-12-03 20:01:50.000000000 +0100
160+++ linux-2.6.33-vs2.3.0.36.30/arch/arm/kernel/traps.c 2010-02-25 12:02:16.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,
2bf5ad28
AM
172diff -NurpP --minimal linux-2.6.33/arch/avr32/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/avr32/mm/fault.c
173--- linux-2.6.33/arch/avr32/mm/fault.c 2009-09-10 15:25:20.000000000 +0200
174+++ linux-2.6.33-vs2.3.0.36.30/arch/avr32/mm/fault.c 2010-02-25 12:02:16.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;
2bf5ad28
AM
185diff -NurpP --minimal linux-2.6.33/arch/cris/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/cris/Kconfig
186--- linux-2.6.33/arch/cris/Kconfig 2009-06-11 17:11:56.000000000 +0200
187+++ linux-2.6.33-vs2.3.0.36.30/arch/cris/Kconfig 2010-02-25 12:02:16.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"
2bf5ad28
AM
197diff -NurpP --minimal linux-2.6.33/arch/cris/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/cris/mm/fault.c
198--- linux-2.6.33/arch/cris/mm/fault.c 2010-02-25 11:51:26.000000000 +0100
199+++ linux-2.6.33-vs2.3.0.36.30/arch/cris/mm/fault.c 2010-02-25 12:02:16.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;
2bf5ad28
AM
210diff -NurpP --minimal linux-2.6.33/arch/frv/kernel/kernel_thread.S linux-2.6.33-vs2.3.0.36.30/arch/frv/kernel/kernel_thread.S
211--- linux-2.6.33/arch/frv/kernel/kernel_thread.S 2008-12-25 00:26:37.000000000 +0100
212+++ linux-2.6.33-vs2.3.0.36.30/arch/frv/kernel/kernel_thread.S 2010-02-25 12:02:16.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]
2bf5ad28
AM
222diff -NurpP --minimal linux-2.6.33/arch/frv/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/frv/mm/fault.c
223--- linux-2.6.33/arch/frv/mm/fault.c 2009-09-10 15:25:22.000000000 +0200
224+++ linux-2.6.33-vs2.3.0.36.30/arch/frv/mm/fault.c 2010-02-25 12:02:16.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;
2bf5ad28
AM
235diff -NurpP --minimal linux-2.6.33/arch/h8300/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/h8300/Kconfig
236--- linux-2.6.33/arch/h8300/Kconfig 2010-02-25 11:51:26.000000000 +0100
237+++ linux-2.6.33-vs2.3.0.36.30/arch/h8300/Kconfig 2010-02-25 12:02:16.000000000 +0100
238@@ -230,6 +230,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"
2bf5ad28
AM
247diff -NurpP --minimal linux-2.6.33/arch/ia64/ia32/ia32_entry.S linux-2.6.33-vs2.3.0.36.30/arch/ia64/ia32/ia32_entry.S
248--- linux-2.6.33/arch/ia64/ia32/ia32_entry.S 2010-02-25 11:51:26.000000000 +0100
249+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/ia32/ia32_entry.S 2010-02-25 12:02:16.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
2bf5ad28
AM
259diff -NurpP --minimal linux-2.6.33/arch/ia64/include/asm/tlb.h linux-2.6.33-vs2.3.0.36.30/arch/ia64/include/asm/tlb.h
260--- linux-2.6.33/arch/ia64/include/asm/tlb.h 2010-02-25 11:51:26.000000000 +0100
261+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/include/asm/tlb.h 2010-02-25 12:02:16.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>
2bf5ad28
AM
270diff -NurpP --minimal linux-2.6.33/arch/ia64/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/ia64/Kconfig
271--- linux-2.6.33/arch/ia64/Kconfig 2010-02-25 11:51:26.000000000 +0100
272+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/Kconfig 2010-02-25 12:02:16.000000000 +0100
273@@ -682,6 +682,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"
2bf5ad28
AM
282diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/entry.S linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/entry.S
283--- linux-2.6.33/arch/ia64/kernel/entry.S 2010-02-25 11:51:26.000000000 +0100
284+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/entry.S 2010-02-25 12:02:16.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
2bf5ad28
AM
294diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/perfmon.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/perfmon.c
295--- linux-2.6.33/arch/ia64/kernel/perfmon.c 2010-02-25 11:51:26.000000000 +0100
296+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/perfmon.c 2010-02-25 12:02:16.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>
2bf5ad28 305@@ -2367,7 +2368,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);
2bf5ad28
AM
314diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/process.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/process.c
315--- linux-2.6.33/arch/ia64/kernel/process.c 2009-12-03 20:01:56.000000000 +0100
316+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/process.c 2010-02-25 12:02:16.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);
2bf5ad28
AM
328diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/ptrace.c
329--- linux-2.6.33/arch/ia64/kernel/ptrace.c 2009-09-10 15:25:22.000000000 +0200
330+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/ptrace.c 2010-02-25 12:02:16.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>
2bf5ad28
AM
339diff -NurpP --minimal linux-2.6.33/arch/ia64/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/traps.c
340--- linux-2.6.33/arch/ia64/kernel/traps.c 2008-12-25 00:26:37.000000000 +0100
341+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/kernel/traps.c 2010-02-25 12:02:16.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 }
2bf5ad28
AM
366diff -NurpP --minimal linux-2.6.33/arch/ia64/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/ia64/mm/fault.c
367--- linux-2.6.33/arch/ia64/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
368+++ linux-2.6.33-vs2.3.0.36.30/arch/ia64/mm/fault.c 2010-02-25 12:02:16.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;
2bf5ad28
AM
387diff -NurpP --minimal linux-2.6.33/arch/m32r/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/m32r/kernel/traps.c
388--- linux-2.6.33/arch/m32r/kernel/traps.c 2009-12-03 20:01:57.000000000 +0100
389+++ linux-2.6.33-vs2.3.0.36.30/arch/m32r/kernel/traps.c 2010-02-25 12:02:16.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
2bf5ad28
AM
402diff -NurpP --minimal linux-2.6.33/arch/m32r/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/m32r/mm/fault.c
403--- linux-2.6.33/arch/m32r/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
404+++ linux-2.6.33-vs2.3.0.36.30/arch/m32r/mm/fault.c 2010-02-25 12:02:16.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;
2bf5ad28
AM
415diff -NurpP --minimal linux-2.6.33/arch/m68k/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/m68k/Kconfig
416--- linux-2.6.33/arch/m68k/Kconfig 2009-12-03 20:01:57.000000000 +0100
417+++ linux-2.6.33-vs2.3.0.36.30/arch/m68k/Kconfig 2010-02-25 12:02:16.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"
2bf5ad28
AM
427diff -NurpP --minimal linux-2.6.33/arch/m68k/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/m68k/kernel/ptrace.c
428--- linux-2.6.33/arch/m68k/kernel/ptrace.c 2010-02-25 11:51:27.000000000 +0100
429+++ linux-2.6.33-vs2.3.0.36.30/arch/m68k/kernel/ptrace.c 2010-02-25 12:02:16.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>
2bf5ad28 438@@ -249,6 +250,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:
2bf5ad28
AM
447diff -NurpP --minimal linux-2.6.33/arch/m68k/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/m68k/kernel/traps.c
448--- linux-2.6.33/arch/m68k/kernel/traps.c 2009-09-10 15:25:23.000000000 +0200
449+++ linux-2.6.33-vs2.3.0.36.30/arch/m68k/kernel/traps.c 2010-02-25 12:02:16.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) {
2bf5ad28
AM
461diff -NurpP --minimal linux-2.6.33/arch/m68k/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/m68k/mm/fault.c
462--- linux-2.6.33/arch/m68k/mm/fault.c 2009-09-10 15:25:23.000000000 +0200
463+++ linux-2.6.33-vs2.3.0.36.30/arch/m68k/mm/fault.c 2010-02-25 12:02:16.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
2bf5ad28
AM
474diff -NurpP --minimal linux-2.6.33/arch/m68knommu/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/m68knommu/Kconfig
475--- linux-2.6.33/arch/m68knommu/Kconfig 2010-02-25 11:51:27.000000000 +0100
476+++ linux-2.6.33-vs2.3.0.36.30/arch/m68knommu/Kconfig 2010-02-25 12:02:16.000000000 +0100
477@@ -734,6 +734,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"
2bf5ad28
AM
486diff -NurpP --minimal linux-2.6.33/arch/m68knommu/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/m68knommu/kernel/traps.c
487--- linux-2.6.33/arch/m68knommu/kernel/traps.c 2009-09-10 15:25:23.000000000 +0200
488+++ linux-2.6.33-vs2.3.0.36.30/arch/m68knommu/kernel/traps.c 2010-02-25 12:02:16.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);
2bf5ad28
AM
501diff -NurpP --minimal linux-2.6.33/arch/microblaze/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/microblaze/mm/fault.c
502--- linux-2.6.33/arch/microblaze/mm/fault.c 2009-09-10 15:25:24.000000000 +0200
503+++ linux-2.6.33-vs2.3.0.36.30/arch/microblaze/mm/fault.c 2010-02-25 12:02:16.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);
2bf5ad28
AM
514diff -NurpP --minimal linux-2.6.33/arch/mips/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/mips/Kconfig
515--- linux-2.6.33/arch/mips/Kconfig 2010-02-25 11:51:27.000000000 +0100
516+++ linux-2.6.33-vs2.3.0.36.30/arch/mips/Kconfig 2010-02-25 12:02:16.000000000 +0100
517@@ -2220,6 +2220,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"
2bf5ad28
AM
526diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/ptrace.c
527--- linux-2.6.33/arch/mips/kernel/ptrace.c 2008-12-25 00:26:37.000000000 +0100
528+++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/ptrace.c 2010-02-25 12:02:16.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. */
2bf5ad28
AM
547diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/scall32-o32.S linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall32-o32.S
548--- linux-2.6.33/arch/mips/kernel/scall32-o32.S 2010-02-25 11:51:28.000000000 +0100
549+++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall32-o32.S 2010-02-25 12:02:16.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 */
2bf5ad28
AM
559diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/scall64-64.S linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-64.S
560--- linux-2.6.33/arch/mips/kernel/scall64-64.S 2010-02-25 11:51:28.000000000 +0100
561+++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-64.S 2010-02-25 12:02:16.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
2bf5ad28
AM
571diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/scall64-n32.S linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-n32.S
572--- linux-2.6.33/arch/mips/kernel/scall64-n32.S 2010-02-25 11:51:28.000000000 +0100
573+++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-n32.S 2010-02-25 12:02:16.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
2bf5ad28
AM
583diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/scall64-o32.S linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-o32.S
584--- linux-2.6.33/arch/mips/kernel/scall64-o32.S 2010-02-25 11:51:28.000000000 +0100
585+++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/scall64-o32.S 2010-02-25 12:02:16.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 */
2bf5ad28
AM
595diff -NurpP --minimal linux-2.6.33/arch/mips/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/traps.c
596--- linux-2.6.33/arch/mips/kernel/traps.c 2010-02-25 11:51:28.000000000 +0100
597+++ linux-2.6.33-vs2.3.0.36.30/arch/mips/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100
598@@ -333,9 +333,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
2bf5ad28
AM
612diff -NurpP --minimal linux-2.6.33/arch/mn10300/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/mn10300/mm/fault.c
613--- linux-2.6.33/arch/mn10300/mm/fault.c 2009-09-10 15:25:39.000000000 +0200
614+++ linux-2.6.33-vs2.3.0.36.30/arch/mn10300/mm/fault.c 2010-02-25 12:02:16.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;
2bf5ad28
AM
625diff -NurpP --minimal linux-2.6.33/arch/parisc/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/parisc/Kconfig
626--- linux-2.6.33/arch/parisc/Kconfig 2010-02-25 11:51:29.000000000 +0100
627+++ linux-2.6.33-vs2.3.0.36.30/arch/parisc/Kconfig 2010-02-25 12:02:16.000000000 +0100
628@@ -293,6 +293,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"
2bf5ad28
AM
637diff -NurpP --minimal linux-2.6.33/arch/parisc/kernel/syscall_table.S linux-2.6.33-vs2.3.0.36.30/arch/parisc/kernel/syscall_table.S
638--- linux-2.6.33/arch/parisc/kernel/syscall_table.S 2010-02-25 11:51:29.000000000 +0100
639+++ linux-2.6.33-vs2.3.0.36.30/arch/parisc/kernel/syscall_table.S 2010-02-25 12:02:16.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)
2bf5ad28
AM
649diff -NurpP --minimal linux-2.6.33/arch/parisc/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/parisc/kernel/traps.c
650--- linux-2.6.33/arch/parisc/kernel/traps.c 2009-09-10 15:25:40.000000000 +0200
651+++ linux-2.6.33-vs2.3.0.36.30/arch/parisc/kernel/traps.c 2010-02-25 12:02:16.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) {
2bf5ad28
AM
675diff -NurpP --minimal linux-2.6.33/arch/parisc/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/parisc/mm/fault.c
676--- linux-2.6.33/arch/parisc/mm/fault.c 2009-09-10 15:25:40.000000000 +0200
677+++ linux-2.6.33-vs2.3.0.36.30/arch/parisc/mm/fault.c 2010-02-25 12:02:16.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;
2bf5ad28
AM
700diff -NurpP --minimal linux-2.6.33/arch/powerpc/include/asm/unistd.h linux-2.6.33-vs2.3.0.36.30/arch/powerpc/include/asm/unistd.h
701--- linux-2.6.33/arch/powerpc/include/asm/unistd.h 2009-12-03 20:02:01.000000000 +0100
702+++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/include/asm/unistd.h 2010-02-25 12:02:16.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
2bf5ad28
AM
712diff -NurpP --minimal linux-2.6.33/arch/powerpc/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/powerpc/Kconfig
713--- linux-2.6.33/arch/powerpc/Kconfig 2010-02-25 11:51:29.000000000 +0100
714+++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/Kconfig 2010-02-25 12:02:16.000000000 +0100
715@@ -968,6 +968,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
2bf5ad28
AM
724diff -NurpP --minimal linux-2.6.33/arch/powerpc/kernel/irq.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/irq.c
725--- linux-2.6.33/arch/powerpc/kernel/irq.c 2010-02-25 11:51:31.000000000 +0100
726+++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/irq.c 2010-02-25 12:02:16.000000000 +0100
ec22aa5c 727@@ -54,6 +54,7 @@
d337f35e 728 #include <linux/pci.h>
2380c486 729 #include <linux/debugfs.h>
7e46296a
AM
730 #include <linux/perf_event.h>
731+// #include <linux/vs_context.h>
d337f35e
JR
732
733 #include <asm/uaccess.h>
734 #include <asm/system.h>
2bf5ad28
AM
735diff -NurpP --minimal linux-2.6.33/arch/powerpc/kernel/process.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/process.c
736--- linux-2.6.33/arch/powerpc/kernel/process.c 2010-02-25 11:51:31.000000000 +0100
737+++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/process.c 2010-02-25 12:02:16.000000000 +0100
ec22aa5c 738@@ -519,8 +519,9 @@ void show_regs(struct pt_regs * regs)
2380c486 739 #else
d337f35e 740 printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr);
2380c486 741 #endif
d337f35e 742- printk("TASK = %p[%d] '%s' THREAD: %p",
2380c486 743- current, task_pid_nr(current), current->comm, task_thread_info(current));
d337f35e 744+ printk("TASK = %p[%d,#%u] '%s' THREAD: %p",
2380c486 745+ current, task_pid_nr(current), current->xid,
d337f35e
JR
746+ current->comm, task_thread_info(current));
747
748 #ifdef CONFIG_SMP
2380c486 749 printk(" CPU: %d", raw_smp_processor_id());
2bf5ad28
AM
750diff -NurpP --minimal linux-2.6.33/arch/powerpc/kernel/traps.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/traps.c
751--- linux-2.6.33/arch/powerpc/kernel/traps.c 2010-02-25 11:51:31.000000000 +0100
752+++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/traps.c 2010-02-25 12:02:16.000000000 +0100
753@@ -918,8 +918,9 @@ void nonrecoverable_exception(struct pt_
d337f35e
JR
754
755 void trace_syscall(struct pt_regs *regs)
756 {
757- printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n",
2380c486 758- current, task_pid_nr(current), regs->nip, regs->link, regs->gpr[0],
d337f35e 759+ printk("Task: %p(%d[#%u]), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n",
2380c486 760+ current, task_pid_nr(current), current->xid,
d337f35e
JR
761+ regs->nip, regs->link, regs->gpr[0],
762 regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
763 }
764
2bf5ad28
AM
765diff -NurpP --minimal linux-2.6.33/arch/powerpc/kernel/vdso.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/vdso.c
766--- linux-2.6.33/arch/powerpc/kernel/vdso.c 2010-02-25 11:51:31.000000000 +0100
767+++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/kernel/vdso.c 2010-02-25 12:02:16.000000000 +0100
7e46296a 768@@ -23,6 +23,7 @@
d337f35e
JR
769 #include <linux/security.h>
770 #include <linux/bootmem.h>
2380c486 771 #include <linux/lmb.h>
d337f35e
JR
772+#include <linux/vs_memory.h>
773
774 #include <asm/pgtable.h>
775 #include <asm/system.h>
2bf5ad28
AM
776diff -NurpP --minimal linux-2.6.33/arch/powerpc/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/powerpc/mm/fault.c
777--- linux-2.6.33/arch/powerpc/mm/fault.c 2010-02-25 11:51:31.000000000 +0100
778+++ linux-2.6.33-vs2.3.0.36.30/arch/powerpc/mm/fault.c 2010-02-25 12:02:16.000000000 +0100
779@@ -364,7 +364,8 @@ out_of_memory:
2380c486
JR
780 down_read(&mm->mmap_sem);
781 goto survive;
782 }
783- printk("VM: killing process %s\n", current->comm);
784+ printk("VM: killing process %s(%d:#%u)\n",
785+ current->comm, current->pid, current->xid);
786 if (user_mode(regs))
787 do_group_exit(SIGKILL);
788 return SIGKILL;
2bf5ad28
AM
789diff -NurpP --minimal linux-2.6.33/arch/s390/include/asm/tlb.h linux-2.6.33-vs2.3.0.36.30/arch/s390/include/asm/tlb.h
790--- linux-2.6.33/arch/s390/include/asm/tlb.h 2009-09-10 15:25:43.000000000 +0200
791+++ linux-2.6.33-vs2.3.0.36.30/arch/s390/include/asm/tlb.h 2010-02-25 12:02:16.000000000 +0100
0411181d
AM
792@@ -23,6 +23,8 @@
793
794 #include <linux/mm.h>
795 #include <linux/swap.h>
796+#include <linux/vs_memory.h>
797+
798 #include <asm/processor.h>
799 #include <asm/pgalloc.h>
800 #include <asm/smp.h>
2bf5ad28
AM
801diff -NurpP --minimal linux-2.6.33/arch/s390/include/asm/unistd.h linux-2.6.33-vs2.3.0.36.30/arch/s390/include/asm/unistd.h
802--- linux-2.6.33/arch/s390/include/asm/unistd.h 2010-02-25 11:51:32.000000000 +0100
803+++ linux-2.6.33-vs2.3.0.36.30/arch/s390/include/asm/unistd.h 2010-02-25 12:02:16.000000000 +0100
0411181d
AM
804@@ -202,7 +202,7 @@
805 #define __NR_clock_gettime (__NR_timer_create+6)
806 #define __NR_clock_getres (__NR_timer_create+7)
807 #define __NR_clock_nanosleep (__NR_timer_create+8)
808-/* Number 263 is reserved for vserver */
809+#define __NR_vserver 263
810 #define __NR_statfs64 265
811 #define __NR_fstatfs64 266
812 #define __NR_remap_file_pages 267
2bf5ad28
AM
813diff -NurpP --minimal linux-2.6.33/arch/s390/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/s390/Kconfig
814--- linux-2.6.33/arch/s390/Kconfig 2010-02-25 11:51:32.000000000 +0100
815+++ linux-2.6.33-vs2.3.0.36.30/arch/s390/Kconfig 2010-02-25 12:02:16.000000000 +0100
816@@ -629,6 +629,8 @@ source "fs/Kconfig"
d337f35e
JR
817
818 source "arch/s390/Kconfig.debug"
819
820+source "kernel/vserver/Kconfig"
821+
822 source "security/Kconfig"
823
824 source "crypto/Kconfig"
2bf5ad28
AM
825diff -NurpP --minimal linux-2.6.33/arch/s390/kernel/ptrace.c linux-2.6.33-vs2.3.0.36.30/arch/s390/kernel/ptrace.c
826--- linux-2.6.33/arch/s390/kernel/ptrace.c 2010-02-25 11:51:32.000000000 +0100
827+++ linux-2.6.33-vs2.3.0.36.30/arch/s390/kernel/ptrace.c 2010-02-25 12:02:16.000000000 +0100
ec22aa5c 828@@ -36,6 +36,7 @@
2380c486 829 #include <linux/regset.h>
ec22aa5c
AM
830 #include <linux/tracehook.h>
831 #include <linux/seccomp.h>
d337f35e 832+#include <linux/vs_base.h>
ec22aa5c
AM
833 #include <trace/syscall.h>
834 #include <asm/compat.h>
d337f35e 835 #include <asm/segment.h>
2bf5ad28
AM
836diff -NurpP --minimal linux-2.6.33/arch/s390/kernel/syscalls.S linux-2.6.33-vs2.3.0.36.30/arch/s390/kernel/syscalls.S
837--- linux-2.6.33/arch/s390/kernel/syscalls.S 2009-12-03 20:02:03.000000000 +0100
838+++ linux-2.6.33-vs2.3.0.36.30/arch/s390/kernel/syscalls.S 2010-02-25 12:02:16.000000000 +0100
d337f35e
JR
839@@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
840 SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */
841 SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper)
842 SYSCALL(sys_clock_nanosleep,sys_clock_nanosleep,sys32_clock_nanosleep_wrapper)
843-NI_SYSCALL /* reserved for vserver */
844+SYSCALL(sys_vserver,sys_vserver,sys32_vserver)
2380c486 845 SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
d337f35e
JR
846 SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
847 SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
2bf5ad28
AM
848diff -NurpP --minimal linux-2.6.33/arch/sh/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/sh/Kconfig
849--- linux-2.6.33/arch/sh/Kconfig 2010-02-25 11:51:32.000000000 +0100
850+++ linux-2.6.33-vs2.3.0.36.30/arch/sh/Kconfig 2010-02-25 12:02:16.000000000 +0100
851@@ -860,6 +860,8 @@ source "fs/Kconfig"
d337f35e
JR
852
853 source "arch/sh/Kconfig.debug"
854
855+source "kernel/vserver/Kconfig"
856+
857 source "security/Kconfig"
858
859 source "crypto/Kconfig"
2bf5ad28
AM
860diff -NurpP --minimal linux-2.6.33/arch/sh/kernel/irq.c linux-2.6.33-vs2.3.0.36.30/arch/sh/kernel/irq.c
861--- linux-2.6.33/arch/sh/kernel/irq.c 2010-02-25 11:51:33.000000000 +0100
862+++ linux-2.6.33-vs2.3.0.36.30/arch/sh/kernel/irq.c 2010-02-25 12:02:16.000000000 +0100
7e46296a 863@@ -12,6 +12,7 @@
d337f35e
JR
864 #include <linux/kernel_stat.h>
865 #include <linux/seq_file.h>
7e46296a
AM
866 #include <linux/ftrace.h>
867+// #include <linux/vs_context.h>
d337f35e 868 #include <asm/processor.h>
2380c486 869 #include <asm/machvec.h>
d337f35e 870 #include <asm/uaccess.h>
2bf5ad28
AM
871diff -NurpP --minimal linux-2.6.33/arch/sh/kernel/vsyscall/vsyscall.c linux-2.6.33-vs2.3.0.36.30/arch/sh/kernel/vsyscall/vsyscall.c
872--- linux-2.6.33/arch/sh/kernel/vsyscall/vsyscall.c 2009-03-24 14:18:42.000000000 +0100
873+++ linux-2.6.33-vs2.3.0.36.30/arch/sh/kernel/vsyscall/vsyscall.c 2010-02-25 12:02:16.000000000 +0100
2380c486 874@@ -19,6 +19,7 @@
d337f35e 875 #include <linux/elf.h>
2380c486
JR
876 #include <linux/sched.h>
877 #include <linux/err.h>
d337f35e
JR
878+#include <linux/vs_memory.h>
879
880 /*
881 * Should the kernel map a VDSO page into processes and pass its
2bf5ad28
AM
882diff -NurpP --minimal linux-2.6.33/arch/sh/mm/fault_32.c linux-2.6.33-vs2.3.0.36.30/arch/sh/mm/fault_32.c
883--- linux-2.6.33/arch/sh/mm/fault_32.c 2009-12-03 20:02:14.000000000 +0100
884+++ linux-2.6.33-vs2.3.0.36.30/arch/sh/mm/fault_32.c 2010-02-25 12:02:16.000000000 +0100
7e46296a 885@@ -292,7 +292,8 @@ out_of_memory:
4a036bed
AM
886 down_read(&mm->mmap_sem);
887 goto survive;
888 }
889- printk("VM: killing process %s\n", tsk->comm);
890+ printk("VM: killing process %s(%d:#%u)\n",
891+ tsk->comm, task_pid_nr(tsk), tsk->xid);
892 if (user_mode(regs))
893 do_group_exit(SIGKILL);
894 goto no_context;
2bf5ad28
AM
895diff -NurpP --minimal linux-2.6.33/arch/sh/mm/tlbflush_64.c linux-2.6.33-vs2.3.0.36.30/arch/sh/mm/tlbflush_64.c
896--- linux-2.6.33/arch/sh/mm/tlbflush_64.c 2009-12-03 20:02:14.000000000 +0100
897+++ linux-2.6.33-vs2.3.0.36.30/arch/sh/mm/tlbflush_64.c 2010-02-25 12:02:16.000000000 +0100
4a036bed
AM
898@@ -306,7 +306,8 @@ out_of_memory:
899 down_read(&mm->mmap_sem);
900 goto survive;
901 }
902- printk("VM: killing process %s\n", tsk->comm);
903+ printk("VM: killing process %s(%d:#%u)\n",
904+ tsk->comm, task_pid_nr(tsk), tsk->xid);
905 if (user_mode(regs))
906 do_group_exit(SIGKILL);
907 goto no_context;
2bf5ad28
AM
908diff -NurpP --minimal linux-2.6.33/arch/sparc/include/asm/tlb_64.h linux-2.6.33-vs2.3.0.36.30/arch/sparc/include/asm/tlb_64.h
909--- linux-2.6.33/arch/sparc/include/asm/tlb_64.h 2009-09-10 15:25:45.000000000 +0200
910+++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/include/asm/tlb_64.h 2010-02-25 12:02:16.000000000 +0100
ec22aa5c
AM
911@@ -3,6 +3,7 @@
912
913 #include <linux/swap.h>
914 #include <linux/pagemap.h>
915+#include <linux/vs_memory.h>
916 #include <asm/pgalloc.h>
917 #include <asm/tlbflush.h>
918 #include <asm/mmu_context.h>
2bf5ad28
AM
919diff -NurpP --minimal linux-2.6.33/arch/sparc/include/asm/unistd.h linux-2.6.33-vs2.3.0.36.30/arch/sparc/include/asm/unistd.h
920--- linux-2.6.33/arch/sparc/include/asm/unistd.h 2010-02-25 11:51:34.000000000 +0100
921+++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/include/asm/unistd.h 2010-02-25 12:02:16.000000000 +0100
ec22aa5c
AM
922@@ -335,7 +335,7 @@
923 #define __NR_timer_getoverrun 264
924 #define __NR_timer_delete 265
925 #define __NR_timer_create 266
926-/* #define __NR_vserver 267 Reserved for VSERVER */
927+#define __NR_vserver 267
928 #define __NR_io_setup 268
929 #define __NR_io_destroy 269
930 #define __NR_io_submit 270
2bf5ad28
AM
931diff -NurpP --minimal linux-2.6.33/arch/sparc/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/sparc/Kconfig
932--- linux-2.6.33/arch/sparc/Kconfig 2010-02-25 11:51:33.000000000 +0100
933+++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/Kconfig 2010-02-25 12:02:16.000000000 +0100
934@@ -561,6 +561,8 @@ source "fs/Kconfig"
d337f35e
JR
935
936 source "arch/sparc/Kconfig.debug"
937
938+source "kernel/vserver/Kconfig"
939+
940 source "security/Kconfig"
941
942 source "crypto/Kconfig"
2bf5ad28
AM
943diff -NurpP --minimal linux-2.6.33/arch/sparc/kernel/systbls_32.S linux-2.6.33-vs2.3.0.36.30/arch/sparc/kernel/systbls_32.S
944--- linux-2.6.33/arch/sparc/kernel/systbls_32.S 2010-02-25 11:51:34.000000000 +0100
945+++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/kernel/systbls_32.S 2010-02-25 12:02:16.000000000 +0100
50e68740 946@@ -70,7 +70,7 @@ sys_call_table:
9390b158 947 /*250*/ .long sys_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
50e68740
JR
948 /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
949 /*260*/ .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
950-/*265*/ .long sys_timer_delete, sys_timer_create, sys_nis_syscall, sys_io_setup, sys_io_destroy
951+/*265*/ .long sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy
952 /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
953 /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
954 /*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
2bf5ad28
AM
955diff -NurpP --minimal linux-2.6.33/arch/sparc/kernel/systbls_64.S linux-2.6.33-vs2.3.0.36.30/arch/sparc/kernel/systbls_64.S
956--- linux-2.6.33/arch/sparc/kernel/systbls_64.S 2010-02-25 11:51:34.000000000 +0100
957+++ linux-2.6.33-vs2.3.0.36.30/arch/sparc/kernel/systbls_64.S 2010-02-25 12:02:16.000000000 +0100
50e68740 958@@ -71,7 +71,7 @@ sys_call_table32:
2bf5ad28 959 /*250*/ .word sys_mremap, compat_sys_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl
50e68740
JR
960 .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep
961 /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun
962- .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy
963+ .word sys_timer_delete, compat_sys_timer_create, sys32_vserver, compat_sys_io_setup, sys_io_destroy
964 /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink
965 .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
966 /*280*/ .word sys32_tee, sys_add_key, sys_request_key, sys_keyctl, compat_sys_openat
ec22aa5c 967@@ -146,7 +146,7 @@ sys_call_table:
50e68740
JR
968 /*250*/ .word sys_64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
969 .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
970 /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
971- .word sys_timer_delete, sys_timer_create, sys_ni_syscall, sys_io_setup, sys_io_destroy
972+ .word sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy
973 /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
974 .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
975 /*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
2bf5ad28
AM
976diff -NurpP --minimal linux-2.6.33/arch/x86/ia32/ia32entry.S linux-2.6.33-vs2.3.0.36.30/arch/x86/ia32/ia32entry.S
977--- linux-2.6.33/arch/x86/ia32/ia32entry.S 2010-02-25 11:51:34.000000000 +0100
978+++ linux-2.6.33-vs2.3.0.36.30/arch/x86/ia32/ia32entry.S 2010-02-25 12:02:16.000000000 +0100
1d9ef1d9 979@@ -777,7 +777,7 @@ ia32_sys_call_table:
2380c486
JR
980 .quad sys_tgkill /* 270 */
981 .quad compat_sys_utimes
982 .quad sys32_fadvise64_64
983- .quad quiet_ni_syscall /* sys_vserver */
984+ .quad sys32_vserver
985 .quad sys_mbind
986 .quad compat_sys_get_mempolicy /* 275 */
987 .quad sys_set_mempolicy
2bf5ad28
AM
988diff -NurpP --minimal linux-2.6.33/arch/x86/include/asm/unistd_64.h linux-2.6.33-vs2.3.0.36.30/arch/x86/include/asm/unistd_64.h
989--- linux-2.6.33/arch/x86/include/asm/unistd_64.h 2010-02-25 11:51:34.000000000 +0100
990+++ linux-2.6.33-vs2.3.0.36.30/arch/x86/include/asm/unistd_64.h 2010-02-25 12:02:16.000000000 +0100
ec22aa5c
AM
991@@ -535,7 +535,7 @@ __SYSCALL(__NR_tgkill, sys_tgkill)
992 #define __NR_utimes 235
993 __SYSCALL(__NR_utimes, sys_utimes)
994 #define __NR_vserver 236
995-__SYSCALL(__NR_vserver, sys_ni_syscall)
996+__SYSCALL(__NR_vserver, sys_vserver)
997 #define __NR_mbind 237
998 __SYSCALL(__NR_mbind, sys_mbind)
999 #define __NR_set_mempolicy 238
2bf5ad28
AM
1000diff -NurpP --minimal linux-2.6.33/arch/x86/Kconfig linux-2.6.33-vs2.3.0.36.30/arch/x86/Kconfig
1001--- linux-2.6.33/arch/x86/Kconfig 2010-02-25 11:51:34.000000000 +0100
1002+++ linux-2.6.33-vs2.3.0.36.30/arch/x86/Kconfig 2010-02-25 12:02:16.000000000 +0100
1003@@ -2083,6 +2083,8 @@ source "fs/Kconfig"
d337f35e 1004
2380c486 1005 source "arch/x86/Kconfig.debug"
d337f35e
JR
1006
1007+source "kernel/vserver/Kconfig"
1008+
1009 source "security/Kconfig"
1010
1011 source "crypto/Kconfig"
2bf5ad28
AM
1012diff -NurpP --minimal linux-2.6.33/arch/x86/kernel/syscall_table_32.S linux-2.6.33-vs2.3.0.36.30/arch/x86/kernel/syscall_table_32.S
1013--- linux-2.6.33/arch/x86/kernel/syscall_table_32.S 2010-02-25 11:51:35.000000000 +0100
1014+++ linux-2.6.33-vs2.3.0.36.30/arch/x86/kernel/syscall_table_32.S 2010-02-25 12:02:16.000000000 +0100
2380c486
JR
1015@@ -272,7 +272,7 @@ ENTRY(sys_call_table)
1016 .long sys_tgkill /* 270 */
1017 .long sys_utimes
1018 .long sys_fadvise64_64
1019- .long sys_ni_syscall /* sys_vserver */
1020+ .long sys_vserver
1021 .long sys_mbind
1022 .long sys_get_mempolicy
1023 .long sys_set_mempolicy
2bf5ad28
AM
1024diff -NurpP --minimal linux-2.6.33/arch/xtensa/mm/fault.c linux-2.6.33-vs2.3.0.36.30/arch/xtensa/mm/fault.c
1025--- linux-2.6.33/arch/xtensa/mm/fault.c 2009-09-10 15:25:48.000000000 +0200
1026+++ linux-2.6.33-vs2.3.0.36.30/arch/xtensa/mm/fault.c 2010-02-25 12:02:16.000000000 +0100
4a036bed
AM
1027@@ -151,7 +151,8 @@ out_of_memory:
1028 down_read(&mm->mmap_sem);
1029 goto survive;
1030 }
1031- printk("VM: killing process %s\n", current->comm);
1032+ printk("VM: killing process %s(%d:#%u)\n",
1033+ current->comm, task_pid_nr(current), current->xid);
1034 if (user_mode(regs))
1035 do_group_exit(SIGKILL);
1036 bad_page_fault(regs, address, SIGKILL);
2bf5ad28
AM
1037diff -NurpP --minimal linux-2.6.33/Documentation/scheduler/sched-cfs-hard-limits.txt linux-2.6.33-vs2.3.0.36.30/Documentation/scheduler/sched-cfs-hard-limits.txt
1038--- linux-2.6.33/Documentation/scheduler/sched-cfs-hard-limits.txt 1970-01-01 01:00:00.000000000 +0100
1039+++ linux-2.6.33-vs2.3.0.36.30/Documentation/scheduler/sched-cfs-hard-limits.txt 2010-02-25 12:02:16.000000000 +0100
7e46296a 1040@@ -0,0 +1,48 @@
4a036bed
AM
1041+CPU HARD LIMITS FOR CFS GROUPS
1042+==============================
1043+
1044+1. Overview
1045+2. Interface
1046+3. Examples
1047+
1048+1. Overview
1049+-----------
1050+
1051+CFS is a proportional share scheduler which tries to divide the CPU time
1052+proportionately between tasks or groups of tasks (task group/cgroup) depending
1053+on the priority/weight of the task or shares assigned to groups of tasks.
1054+In CFS, a task/task group can get more than its share of CPU if there are
1055+enough idle CPU cycles available in the system, due to the work conserving
1056+nature of the scheduler. However in certain scenarios (like pay-per-use),
1057+it is desirable not to provide extra time to a group even in the presence
1058+of idle CPU cycles. This is where hard limiting can be of use.
1059+
1060+Hard limits for task groups can be set by specifying how much CPU runtime a
1061+group can consume within a given period. If the group consumes more CPU time
1062+than the runtime in a given period, it gets throttled. None of the tasks of
1063+the throttled group gets to run until the runtime of the group gets refreshed
1064+at the beginning of the next period.
1065+
1066+2. Interface
1067+------------
1068+
7e46296a 1069+Hard limit feature adds 2 cgroup files for CFS group scheduler:
4a036bed
AM
1070+
1071+cfs_runtime_us: Hard limit for the group in microseconds.
1072+
1073+cfs_period_us: Time period in microseconds within which hard limits is
1074+enforced.
1075+
7e46296a
AM
1076+A group gets created with default values for runtime (infinite runtime which
1077+means hard limits disabled) and period (0.5s). Each group can set its own
1078+values for runtime and period independent of other groups in the system.
4a036bed
AM
1079+
1080+3. Examples
1081+-----------
1082+
1083+# mount -t cgroup -ocpu none /cgroups/
1084+# cd /cgroups
1085+# mkdir 1
1086+# cd 1/
1087+# echo 250000 > cfs_runtime_us /* set a 250ms runtime or limit */
1088+# echo 500000 > cfs_period_us /* set a 500ms period */
2bf5ad28
AM
1089diff -NurpP --minimal linux-2.6.33/Documentation/vserver/debug.txt linux-2.6.33-vs2.3.0.36.30/Documentation/vserver/debug.txt
1090--- linux-2.6.33/Documentation/vserver/debug.txt 1970-01-01 01:00:00.000000000 +0100
1091+++ linux-2.6.33-vs2.3.0.36.30/Documentation/vserver/debug.txt 2010-02-25 12:02:16.000000000 +0100
2380c486 1092@@ -0,0 +1,154 @@
d337f35e 1093+
2380c486 1094+debug_cvirt:
d337f35e 1095+
2380c486
JR
1096+ 2 4 "vx_map_tgid: %p/%llx: %d -> %d"
1097+ "vx_rmap_tgid: %p/%llx: %d -> %d"
d337f35e 1098+
2380c486 1099+debug_dlim:
d337f35e 1100+
2380c486
JR
1101+ 0 1 "ALLOC (%p,#%d)%c inode (%d)"
1102+ "FREE (%p,#%d)%c inode"
1103+ 1 2 "ALLOC (%p,#%d)%c %lld bytes (%d)"
1104+ "FREE (%p,#%d)%c %lld bytes"
1105+ 2 4 "ADJUST: %lld,%lld on %ld,%ld [mult=%d]"
1106+ 3 8 "ext3_has_free_blocks(%p): %lu<%lu+1, %c, %u!=%u r=%d"
1107+ "ext3_has_free_blocks(%p): free=%lu, root=%lu"
1108+ "rcu_free_dl_info(%p)"
1109+ 4 10 "alloc_dl_info(%p,%d) = %p"
1110+ "dealloc_dl_info(%p)"
1111+ "get_dl_info(%p[#%d.%d])"
1112+ "put_dl_info(%p[#%d.%d])"
1113+ 5 20 "alloc_dl_info(%p,%d)*"
1114+ 6 40 "__hash_dl_info: %p[#%d]"
1115+ "__unhash_dl_info: %p[#%d]"
1116+ 7 80 "locate_dl_info(%p,#%d) = %p"
1117+
1118+debug_misc:
1119+
1120+ 0 1 "destroy_dqhash: %p [#0x%08x] c=%d"
1121+ "new_dqhash: %p [#0x%08x]"
1122+ "vroot[%d]_clr_dev: dev=%p[%lu,%d:%d]"
1123+ "vroot[%d]_get_real_bdev: dev=%p[%lu,%d:%d]"
1124+ "vroot[%d]_set_dev: dev=%p[%lu,%d:%d]"
1125+ "vroot_get_real_bdev not set"
1126