]> git.pld-linux.org Git - packages/kernel.git/blame - kernel-vserver-2.3.patch
- .6
[packages/kernel.git] / kernel-vserver-2.3.patch
CommitLineData
f6d96edd 1diff -NurpP --minimal linux-2.6.25.4/arch/alpha/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/Kconfig
2--- linux-2.6.25.4/arch/alpha/Kconfig 2008-04-17 12:05:26.000000000 -0400
3+++ linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/Kconfig 2008-04-19 15:14:51.000000000 -0400
938ef335 4@@ -671,6 +671,8 @@ config DUMMY_CONSOLE
97cd3d06 5 depends on VGA_HOSE
6 default y
7
8+source "kernel/vserver/Kconfig"
9+
10 source "security/Kconfig"
11
12 source "crypto/Kconfig"
f6d96edd 13diff -NurpP --minimal linux-2.6.25.4/arch/alpha/kernel/entry.S linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/entry.S
14--- linux-2.6.25.4/arch/alpha/kernel/entry.S 2008-04-17 11:31:21.000000000 -0400
15+++ linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/entry.S 2008-04-21 11:09:01.000000000 -0400
97cd3d06 16@@ -872,24 +872,15 @@ sys_getxgid:
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
f6d96edd 48diff -NurpP --minimal linux-2.6.25.4/arch/alpha/kernel/osf_sys.c linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/osf_sys.c
49--- linux-2.6.25.4/arch/alpha/kernel/osf_sys.c 2008-05-21 14:30:05.000000000 -0400
50+++ linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/osf_sys.c 2008-05-21 14:30:40.000000000 -0400
51@@ -883,7 +883,7 @@ osf_gettimeofday(struct timeval32 __user
97cd3d06 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 }
f6d96edd 60diff -NurpP --minimal linux-2.6.25.4/arch/alpha/kernel/ptrace.c linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/ptrace.c
61--- linux-2.6.25.4/arch/alpha/kernel/ptrace.c 2008-04-17 11:31:21.000000000 -0400
62+++ linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/ptrace.c 2008-04-19 15:14:51.000000000 -0400
97cd3d06 63@@ -15,6 +15,7 @@
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>
f6d96edd 71diff -NurpP --minimal linux-2.6.25.4/arch/alpha/kernel/semaphore.c linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/semaphore.c
72--- linux-2.6.25.4/arch/alpha/kernel/semaphore.c 2008-04-17 11:31:21.000000000 -0400
73+++ linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/semaphore.c 2008-04-19 15:14:51.000000000 -0400
97cd3d06 74@@ -68,8 +68,8 @@ __down_failed(struct semaphore *sem)
75 DECLARE_WAITQUEUE(wait, tsk);
76
77 #ifdef CONFIG_DEBUG_SEMAPHORE
78- printk("%s(%d): down failed(%p)\n",
79- tsk->comm, task_pid_nr(tsk), sem);
80+ printk("%s(%d:#%u): down failed(%p)\n",
81+ tsk->comm, task_pid_nr(tsk), tsk->xid, sem);
82 #endif
83
84 tsk->state = TASK_UNINTERRUPTIBLE;
85@@ -97,8 +97,8 @@ __down_failed(struct semaphore *sem)
86 wake_up(&sem->wait);
87
88 #ifdef CONFIG_DEBUG_SEMAPHORE
89- printk("%s(%d): down acquired(%p)\n",
90- tsk->comm, task_pid_nr(tsk), sem);
91+ printk("%s(%d:#%u): down acquired(%p)\n",
92+ tsk->comm, task_pid_nr(tsk), tsk->xid, sem);
93 #endif
94 }
95
96@@ -110,8 +110,8 @@ __down_failed_interruptible(struct semap
97 long ret = 0;
98
99 #ifdef CONFIG_DEBUG_SEMAPHORE
100- printk("%s(%d): down failed(%p)\n",
101- tsk->comm, task_pid_nr(tsk), sem);
102+ printk("%s(%d:#%u): down failed(%p)\n",
103+ tsk->comm, task_pid_nr(tsk), tsk->xid, sem);
104 #endif
105
106 tsk->state = TASK_INTERRUPTIBLE;
f6d96edd 107diff -NurpP --minimal linux-2.6.25.4/arch/alpha/kernel/systbls.S linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/systbls.S
108--- linux-2.6.25.4/arch/alpha/kernel/systbls.S 2008-04-17 12:05:26.000000000 -0400
109+++ linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/systbls.S 2008-04-19 15:14:51.000000000 -0400
97cd3d06 110@@ -446,7 +446,7 @@ sys_call_table:
111 .quad sys_stat64 /* 425 */
112 .quad sys_lstat64
113 .quad sys_fstat64
114- .quad sys_ni_syscall /* sys_vserver */
115+ .quad sys_vserver /* sys_vserver */
116 .quad sys_ni_syscall /* sys_mbind */
117 .quad sys_ni_syscall /* sys_get_mempolicy */
118 .quad sys_ni_syscall /* sys_set_mempolicy */
f6d96edd 119diff -NurpP --minimal linux-2.6.25.4/arch/alpha/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/traps.c
120--- linux-2.6.25.4/arch/alpha/kernel/traps.c 2008-04-17 11:31:21.000000000 -0400
121+++ linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/kernel/traps.c 2008-04-19 15:14:51.000000000 -0400
97cd3d06 122@@ -182,7 +182,8 @@ die_if_kernel(char * str, struct pt_regs
123 #ifdef CONFIG_SMP
124 printk("CPU %d ", hard_smp_processor_id());
125 #endif
126- printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err);
127+ printk("%s(%d[#%u]): %s %ld\n", current->comm,
128+ task_pid_nr(current), current->xid, str, err);
129 dik_show_regs(regs, r9_15);
130 add_taint(TAINT_DIE);
131 dik_show_trace((unsigned long *)(regs+1));
f6d96edd 132diff -NurpP --minimal linux-2.6.25.4/arch/alpha/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/mm/fault.c
133--- linux-2.6.25.4/arch/alpha/mm/fault.c 2008-04-17 11:31:21.000000000 -0400
134+++ linux-2.6.25.4-vs2.3.0.34.10/arch/alpha/mm/fault.c 2008-04-19 15:14:51.000000000 -0400
97cd3d06 135@@ -193,8 +193,8 @@ do_page_fault(unsigned long address, uns
136 down_read(&mm->mmap_sem);
137 goto survive;
138 }
139- printk(KERN_ALERT "VM: killing process %s(%d)\n",
140- current->comm, task_pid_nr(current));
141+ printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n",
142+ current->comm, task_pid_nr(current), current->xid);
143 if (!user_mode(regs))
144 goto no_context;
145 do_group_exit(SIGKILL);
f6d96edd 146diff -NurpP --minimal linux-2.6.25.4/arch/arm/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/arm/Kconfig
147--- linux-2.6.25.4/arch/arm/Kconfig 2008-04-17 12:05:26.000000000 -0400
148+++ linux-2.6.25.4-vs2.3.0.34.10/arch/arm/Kconfig 2008-04-19 15:14:51.000000000 -0400
938ef335 149@@ -1180,6 +1180,8 @@ source "fs/Kconfig"
97cd3d06 150
151 source "arch/arm/Kconfig.debug"
152
153+source "kernel/vserver/Kconfig"
154+
155 source "security/Kconfig"
156
157 source "crypto/Kconfig"
f6d96edd 158diff -NurpP --minimal linux-2.6.25.4/arch/arm/kernel/calls.S linux-2.6.25.4-vs2.3.0.34.10/arch/arm/kernel/calls.S
159--- linux-2.6.25.4/arch/arm/kernel/calls.S 2008-04-17 12:05:26.000000000 -0400
160+++ linux-2.6.25.4-vs2.3.0.34.10/arch/arm/kernel/calls.S 2008-04-19 15:14:51.000000000 -0400
97cd3d06 161@@ -322,7 +322,7 @@
162 /* 310 */ CALL(sys_request_key)
163 CALL(sys_keyctl)
164 CALL(ABI(sys_semtimedop, sys_oabi_semtimedop))
165-/* vserver */ CALL(sys_ni_syscall)
166+ CALL(sys_vserver)
167 CALL(sys_ioprio_set)
168 /* 315 */ CALL(sys_ioprio_get)
169 CALL(sys_inotify_init)
f6d96edd 170diff -NurpP --minimal linux-2.6.25.4/arch/arm/kernel/process.c linux-2.6.25.4-vs2.3.0.34.10/arch/arm/kernel/process.c
171--- linux-2.6.25.4/arch/arm/kernel/process.c 2008-04-17 12:05:26.000000000 -0400
172+++ linux-2.6.25.4-vs2.3.0.34.10/arch/arm/kernel/process.c 2008-04-21 11:09:01.000000000 -0400
938ef335 173@@ -264,7 +264,8 @@ void __show_regs(struct pt_regs *regs)
97cd3d06 174 void show_regs(struct pt_regs * regs)
175 {
176 printk("\n");
177- printk("Pid: %d, comm: %20s\n", task_pid_nr(current), current->comm);
178+ printk("Pid: %d[#%u], comm: %20s\n",
179+ task_pid_nr(current), current->xid, current->comm);
180 __show_regs(regs);
181 __backtrace();
182 }
f6d96edd 183diff -NurpP --minimal linux-2.6.25.4/arch/arm/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/arm/kernel/traps.c
184--- linux-2.6.25.4/arch/arm/kernel/traps.c 2008-04-17 12:05:26.000000000 -0400
185+++ linux-2.6.25.4-vs2.3.0.34.10/arch/arm/kernel/traps.c 2008-04-19 15:14:51.000000000 -0400
938ef335 186@@ -214,8 +214,8 @@ static void __die(const char *str, int e
97cd3d06 187 str, err, ++die_counter);
188 print_modules();
189 __show_regs(regs);
190- printk("Process %s (pid: %d, stack limit = 0x%p)\n",
191- tsk->comm, task_pid_nr(tsk), thread + 1);
192+ printk("Process %s (pid: %d:#%u, stack limit = 0x%p)\n",
193+ tsk->comm, task_pid_nr(tsk), tsk->xid, thread + 1);
194
195 if (!user_mode(regs) || in_interrupt()) {
196 dump_mem("Stack: ", regs->ARM_sp,
f6d96edd 197diff -NurpP --minimal linux-2.6.25.4/arch/arm/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/arm/mm/fault.c
198--- linux-2.6.25.4/arch/arm/mm/fault.c 2008-04-17 12:05:27.000000000 -0400
199+++ linux-2.6.25.4-vs2.3.0.34.10/arch/arm/mm/fault.c 2008-04-19 15:14:51.000000000 -0400
938ef335 200@@ -292,7 +292,8 @@ do_page_fault(unsigned long addr, unsign
97cd3d06 201 * happened to us that made us unable to handle
202 * the page fault gracefully.
203 */
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 do_group_exit(SIGKILL);
208 return 0;
209 }
f6d96edd 210diff -NurpP --minimal linux-2.6.25.4/arch/cris/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/cris/Kconfig
211--- linux-2.6.25.4/arch/cris/Kconfig 2008-04-17 12:05:27.000000000 -0400
212+++ linux-2.6.25.4-vs2.3.0.34.10/arch/cris/Kconfig 2008-04-19 15:14:51.000000000 -0400
938ef335 213@@ -679,6 +679,8 @@ source "drivers/usb/Kconfig"
97cd3d06 214
215 source "arch/cris/Kconfig.debug"
216
217+source "kernel/vserver/Kconfig"
218+
219 source "security/Kconfig"
220
221 source "crypto/Kconfig"
f6d96edd 222diff -NurpP --minimal linux-2.6.25.4/arch/frv/kernel/kernel_thread.S linux-2.6.25.4-vs2.3.0.34.10/arch/frv/kernel/kernel_thread.S
223--- linux-2.6.25.4/arch/frv/kernel/kernel_thread.S 2007-02-04 13:44:54.000000000 -0500
224+++ linux-2.6.25.4-vs2.3.0.34.10/arch/frv/kernel/kernel_thread.S 2008-04-21 11:09:01.000000000 -0400
938ef335 225@@ -37,7 +37,7 @@ kernel_thread:
97cd3d06 226
227 # start by forking the current process, but with shared VM
228 setlos.p #__NR_clone,gr7 ; syscall number
229- ori gr10,#CLONE_VM,gr8 ; first syscall arg [clone_flags]
230+ ori gr10,#CLONE_KT,gr8 ; first syscall arg [clone_flags]
231 sethi.p #0xe4e4,gr9 ; second syscall arg [newsp]
232 setlo #0xe4e4,gr9
233 setlos.p #0,gr10 ; third syscall arg [parent_tidptr]
f6d96edd 234diff -NurpP --minimal linux-2.6.25.4/arch/h8300/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/h8300/Kconfig
235--- linux-2.6.25.4/arch/h8300/Kconfig 2008-04-17 12:05:28.000000000 -0400
236+++ linux-2.6.25.4-vs2.3.0.34.10/arch/h8300/Kconfig 2008-04-19 15:14:51.000000000 -0400
938ef335 237@@ -233,6 +233,8 @@ source "fs/Kconfig"
97cd3d06 238
239 source "arch/h8300/Kconfig.debug"
240
241+source "kernel/vserver/Kconfig"
242+
243 source "security/Kconfig"
244
245 source "crypto/Kconfig"
f6d96edd 246diff -NurpP --minimal linux-2.6.25.4/arch/ia64/ia32/ia32_entry.S linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/ia32/ia32_entry.S
247--- linux-2.6.25.4/arch/ia64/ia32/ia32_entry.S 2008-04-17 10:37:14.000000000 -0400
248+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/ia32/ia32_entry.S 2008-04-19 15:14:51.000000000 -0400
97cd3d06 249@@ -446,7 +446,7 @@ ia32_syscall_table:
250 data8 sys_tgkill /* 270 */
251 data8 compat_sys_utimes
252 data8 sys32_fadvise64_64
253- data8 sys_ni_syscall
254+ data8 sys32_vserver
255 data8 sys_ni_syscall
256 data8 sys_ni_syscall /* 275 */
257 data8 sys_ni_syscall
f6d96edd 258diff -NurpP --minimal linux-2.6.25.4/arch/ia64/ia32/sys_ia32.c linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/ia32/sys_ia32.c
259--- linux-2.6.25.4/arch/ia64/ia32/sys_ia32.c 2008-04-17 12:05:28.000000000 -0400
260+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/ia32/sys_ia32.c 2008-04-19 15:14:51.000000000 -0400
938ef335 261@@ -1177,7 +1177,7 @@ sys32_gettimeofday (struct compat_timeva
97cd3d06 262 {
263 if (tv) {
264 struct timeval ktv;
265- do_gettimeofday(&ktv);
266+ vx_gettimeofday(&ktv);
267 if (put_tv32(tv, &ktv))
268 return -EFAULT;
269 }
f6d96edd 270diff -NurpP --minimal linux-2.6.25.4/arch/ia64/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/Kconfig
271--- linux-2.6.25.4/arch/ia64/Kconfig 2008-04-17 12:05:28.000000000 -0400
272+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/Kconfig 2008-04-19 15:14:51.000000000 -0400
938ef335 273@@ -615,6 +615,8 @@ source "arch/ia64/hp/sim/Kconfig"
274
275 source "arch/ia64/Kconfig.debug"
276
277+source "kernel/vserver/Kconfig"
278+
279 source "security/Kconfig"
280
281 source "crypto/Kconfig"
f6d96edd 282diff -NurpP --minimal linux-2.6.25.4/arch/ia64/kernel/entry.S linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/entry.S
283--- linux-2.6.25.4/arch/ia64/kernel/entry.S 2008-04-17 12:05:28.000000000 -0400
284+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/entry.S 2008-04-19 15:14:51.000000000 -0400
97cd3d06 285@@ -1547,7 +1547,7 @@ sys_call_table:
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
f6d96edd 294diff -NurpP --minimal linux-2.6.25.4/arch/ia64/kernel/perfmon.c linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/perfmon.c
295--- linux-2.6.25.4/arch/ia64/kernel/perfmon.c 2008-04-17 12:05:28.000000000 -0400
296+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/perfmon.c 2008-04-19 15:14:51.000000000 -0400
97cd3d06 297@@ -40,6 +40,7 @@
298 #include <linux/capability.h>
299 #include <linux/rcupdate.h>
300 #include <linux/completion.h>
301+#include <linux/vs_memory.h>
302
303 #include <asm/errno.h>
304 #include <asm/intrinsics.h>
938ef335 305@@ -2374,7 +2375,7 @@ pfm_smpl_buffer_alloc(struct task_struct
97cd3d06 306 */
307 insert_vm_struct(mm, vma);
308
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);
f6d96edd 314diff -NurpP --minimal linux-2.6.25.4/arch/ia64/kernel/process.c linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/process.c
315--- linux-2.6.25.4/arch/ia64/kernel/process.c 2008-04-17 12:05:28.000000000 -0400
316+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/process.c 2008-04-21 11:09:01.000000000 -0400
938ef335 317@@ -105,8 +105,8 @@ show_regs (struct pt_regs *regs)
97cd3d06 318 unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri;
319
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);
f6d96edd 328diff -NurpP --minimal linux-2.6.25.4/arch/ia64/kernel/ptrace.c linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/ptrace.c
329--- linux-2.6.25.4/arch/ia64/kernel/ptrace.c 2008-04-17 12:05:28.000000000 -0400
330+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/ptrace.c 2008-04-19 15:14:51.000000000 -0400
97cd3d06 331@@ -17,6 +17,7 @@
332 #include <linux/security.h>
333 #include <linux/audit.h>
334 #include <linux/signal.h>
335+#include <linux/vs_base.h>
336
337 #include <asm/pgtable.h>
338 #include <asm/processor.h>
f6d96edd 339diff -NurpP --minimal linux-2.6.25.4/arch/ia64/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/traps.c
340--- linux-2.6.25.4/arch/ia64/kernel/traps.c 2008-04-17 12:05:28.000000000 -0400
341+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/kernel/traps.c 2008-04-21 10:33:04.000000000 -0400
97cd3d06 342@@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re
343 put_cpu();
344
345 if (++die.lock_owner_depth < 3) {
346- printk("%s[%d]: %s %ld [%d]\n",
347- current->comm, task_pid_nr(current), str, err, ++die_counter);
348+ printk("%s[%d[#%u]]: %s %ld [%d]\n",
349+ current->comm, task_pid_nr(current), current->xid,
350+ str, err, ++die_counter);
938ef335 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_
97cd3d06 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 }
365 }
f6d96edd 366diff -NurpP --minimal linux-2.6.25.4/arch/ia64/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/mm/fault.c
367--- linux-2.6.25.4/arch/ia64/mm/fault.c 2008-04-17 12:05:28.000000000 -0400
368+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ia64/mm/fault.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 369@@ -10,6 +10,7 @@
370 #include <linux/interrupt.h>
371 #include <linux/kprobes.h>
372 #include <linux/kdebug.h>
373+#include <linux/vs_memory.h>
374
375 #include <asm/pgtable.h>
376 #include <asm/processor.h>
f6d96edd 377diff -NurpP --minimal linux-2.6.25.4/arch/m32r/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/m32r/kernel/traps.c
378--- linux-2.6.25.4/arch/m32r/kernel/traps.c 2008-04-17 11:31:23.000000000 -0400
379+++ linux-2.6.25.4-vs2.3.0.34.10/arch/m32r/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 380@@ -195,8 +195,9 @@ static void show_registers(struct pt_reg
381 } else {
382 printk("SPI: %08lx\n", sp);
383 }
384- printk("Process %s (pid: %d, process nr: %d, stackpage=%08lx)",
385- current->comm, task_pid_nr(current), 0xffff & i, 4096+(unsigned long)current);
386+ printk("Process %s (pid: %d[#%u], process nr: %d, stackpage=%08lx)",
387+ current->comm, task_pid_nr(current), current->xid,
388+ 0xffff & i, 4096+(unsigned long)current);
389
390 /*
391 * When in-kernel, we also print out the stack and code at the
f6d96edd 392diff -NurpP --minimal linux-2.6.25.4/arch/m68k/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/m68k/Kconfig
393--- linux-2.6.25.4/arch/m68k/Kconfig 2008-04-17 12:05:28.000000000 -0400
394+++ linux-2.6.25.4-vs2.3.0.34.10/arch/m68k/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 395@@ -674,6 +674,8 @@ source "fs/Kconfig"
97cd3d06 396
397 source "arch/m68k/Kconfig.debug"
398
399+source "kernel/vserver/Kconfig"
400+
401 source "security/Kconfig"
402
403 source "crypto/Kconfig"
f6d96edd 404diff -NurpP --minimal linux-2.6.25.4/arch/m68k/kernel/ptrace.c linux-2.6.25.4-vs2.3.0.34.10/arch/m68k/kernel/ptrace.c
405--- linux-2.6.25.4/arch/m68k/kernel/ptrace.c 2008-04-17 11:31:23.000000000 -0400
406+++ linux-2.6.25.4-vs2.3.0.34.10/arch/m68k/kernel/ptrace.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 407@@ -18,6 +18,7 @@
408 #include <linux/ptrace.h>
409 #include <linux/user.h>
410 #include <linux/signal.h>
411+#include <linux/vs_base.h>
412
413 #include <asm/uaccess.h>
414 #include <asm/page.h>
415@@ -269,6 +270,8 @@ long arch_ptrace(struct task_struct *chi
416 ret = ptrace_request(child, request, addr, data);
417 break;
418 }
419+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT))
420+ goto out_tsk;
421
422 return ret;
423 out_eio:
f6d96edd 424diff -NurpP --minimal linux-2.6.25.4/arch/m68k/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/m68k/kernel/traps.c
425--- linux-2.6.25.4/arch/m68k/kernel/traps.c 2008-04-17 12:05:28.000000000 -0400
426+++ linux-2.6.25.4-vs2.3.0.34.10/arch/m68k/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
938ef335 427@@ -898,8 +898,8 @@ void show_registers(struct pt_regs *regs
97cd3d06 428 printk("d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n",
429 regs->d4, regs->d5, regs->a0, regs->a1);
430
431- printk("Process %s (pid: %d, task=%p)\n",
432- current->comm, task_pid_nr(current), current);
433+ printk("Process %s (pid: %d[#%u], task=%p)\n",
434+ current->comm, task_pid_nr(current), current->xid, current);
435 addr = (unsigned long)&fp->un;
436 printk("Frame format=%X ", regs->format);
437 switch (regs->format) {
f6d96edd 438diff -NurpP --minimal linux-2.6.25.4/arch/m68knommu/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/m68knommu/Kconfig
439--- linux-2.6.25.4/arch/m68knommu/Kconfig 2008-04-17 12:05:28.000000000 -0400
440+++ linux-2.6.25.4-vs2.3.0.34.10/arch/m68knommu/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 441@@ -722,6 +722,8 @@ source "fs/Kconfig"
97cd3d06 442
443 source "arch/m68knommu/Kconfig.debug"
444
445+source "kernel/vserver/Kconfig"
446+
447 source "security/Kconfig"
448
449 source "crypto/Kconfig"
f6d96edd 450diff -NurpP --minimal linux-2.6.25.4/arch/m68knommu/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/m68knommu/kernel/traps.c
451--- linux-2.6.25.4/arch/m68knommu/kernel/traps.c 2008-04-17 10:37:14.000000000 -0400
452+++ linux-2.6.25.4-vs2.3.0.34.10/arch/m68knommu/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 453@@ -78,8 +78,9 @@ void die_if_kernel(char *str, struct pt_
454 printk(KERN_EMERG "d4: %08lx d5: %08lx a0: %08lx a1: %08lx\n",
455 fp->d4, fp->d5, fp->a0, fp->a1);
456
457- printk(KERN_EMERG "Process %s (pid: %d, stackpage=%08lx)\n",
458- current->comm, current->pid, PAGE_SIZE+(unsigned long)current);
459+ printk(KERN_EMERG "Process %s (pid: %d[#%u], stackpage=%08lx)\n",
460+ current->comm, task_pid_nr(current), current->xid,
461+ PAGE_SIZE+(unsigned long)current);
462 show_stack(NULL, (unsigned long *)(fp + 1));
463 add_taint(TAINT_DIE);
464 do_exit(SIGSEGV);
f6d96edd 465diff -NurpP --minimal linux-2.6.25.4/arch/mips/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/mips/Kconfig
466--- linux-2.6.25.4/arch/mips/Kconfig 2008-04-17 12:05:28.000000000 -0400
467+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 468@@ -2099,6 +2099,8 @@ source "fs/Kconfig"
97cd3d06 469
470 source "arch/mips/Kconfig.debug"
471
472+source "kernel/vserver/Kconfig"
473+
474 source "security/Kconfig"
475
476 source "crypto/Kconfig"
f6d96edd 477diff -NurpP --minimal linux-2.6.25.4/arch/mips/kernel/linux32.c linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/linux32.c
478--- linux-2.6.25.4/arch/mips/kernel/linux32.c 2008-04-17 12:05:29.000000000 -0400
479+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/linux32.c 2008-04-19 15:14:52.000000000 -0400
938ef335 480@@ -209,7 +209,7 @@ sys32_gettimeofday(struct compat_timeval
97cd3d06 481 {
482 if (tv) {
483 struct timeval ktv;
484- do_gettimeofday(&ktv);
485+ vx_gettimeofday(&ktv);
486 if (put_tv32(tv, &ktv))
487 return -EFAULT;
488 }
f6d96edd 489diff -NurpP --minimal linux-2.6.25.4/arch/mips/kernel/ptrace.c linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/ptrace.c
490--- linux-2.6.25.4/arch/mips/kernel/ptrace.c 2008-04-17 11:31:23.000000000 -0400
491+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/ptrace.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 492@@ -25,6 +25,7 @@
493 #include <linux/security.h>
494 #include <linux/audit.h>
495 #include <linux/seccomp.h>
496+#include <linux/vs_base.h>
497
498 #include <asm/byteorder.h>
499 #include <asm/cpu.h>
500@@ -171,6 +172,9 @@ long arch_ptrace(struct task_struct *chi
501 {
502 int ret;
503
504+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT))
505+ goto out;
506+
507 switch (request) {
508 /* when I and D space are separate, these will need to be fixed. */
509 case PTRACE_PEEKTEXT: /* read word at location addr. */
f6d96edd 510diff -NurpP --minimal linux-2.6.25.4/arch/mips/kernel/scall32-o32.S linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/scall32-o32.S
511--- linux-2.6.25.4/arch/mips/kernel/scall32-o32.S 2008-04-17 12:05:29.000000000 -0400
512+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/scall32-o32.S 2008-04-19 15:14:52.000000000 -0400
97cd3d06 513@@ -619,7 +619,7 @@ einval: li v0, -EINVAL
514 sys sys_mq_timedreceive 5
515 sys sys_mq_notify 2 /* 4275 */
516 sys sys_mq_getsetattr 3
517- sys sys_ni_syscall 0 /* sys_vserver */
518+ sys sys_vserver 3
519 sys sys_waitid 5
520 sys sys_ni_syscall 0 /* available, was setaltroot */
521 sys sys_add_key 5 /* 4280 */
f6d96edd 522diff -NurpP --minimal linux-2.6.25.4/arch/mips/kernel/scall64-64.S linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/scall64-64.S
523--- linux-2.6.25.4/arch/mips/kernel/scall64-64.S 2008-04-17 12:05:29.000000000 -0400
524+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/scall64-64.S 2008-04-19 15:14:52.000000000 -0400
97cd3d06 525@@ -434,7 +434,7 @@ sys_call_table:
526 PTR sys_mq_timedreceive
527 PTR sys_mq_notify
528 PTR sys_mq_getsetattr /* 5235 */
529- PTR sys_ni_syscall /* sys_vserver */
530+ PTR sys_vserver
531 PTR sys_waitid
532 PTR sys_ni_syscall /* available, was setaltroot */
533 PTR sys_add_key
f6d96edd 534diff -NurpP --minimal linux-2.6.25.4/arch/mips/kernel/scall64-n32.S linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/scall64-n32.S
535--- linux-2.6.25.4/arch/mips/kernel/scall64-n32.S 2008-04-17 12:05:29.000000000 -0400
536+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/scall64-n32.S 2008-04-19 15:14:52.000000000 -0400
97cd3d06 537@@ -360,7 +360,7 @@ EXPORT(sysn32_call_table)
538 PTR compat_sys_mq_timedreceive
539 PTR compat_sys_mq_notify
540 PTR compat_sys_mq_getsetattr
541- PTR sys_ni_syscall /* 6240, sys_vserver */
542+ PTR sys32_vserver /* 6240 */
543 PTR compat_sys_waitid
544 PTR sys_ni_syscall /* available, was setaltroot */
545 PTR sys_add_key
f6d96edd 546diff -NurpP --minimal linux-2.6.25.4/arch/mips/kernel/scall64-o32.S linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/scall64-o32.S
547--- linux-2.6.25.4/arch/mips/kernel/scall64-o32.S 2008-04-17 12:05:29.000000000 -0400
548+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/scall64-o32.S 2008-04-19 15:14:52.000000000 -0400
97cd3d06 549@@ -482,7 +482,7 @@ sys_call_table:
550 PTR compat_sys_mq_timedreceive
551 PTR compat_sys_mq_notify /* 4275 */
552 PTR compat_sys_mq_getsetattr
553- PTR sys_ni_syscall /* sys_vserver */
554+ PTR sys32_vserver
555 PTR sys32_waitid
556 PTR sys_ni_syscall /* available, was setaltroot */
557 PTR sys_add_key /* 4280 */
f6d96edd 558diff -NurpP --minimal linux-2.6.25.4/arch/mips/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/traps.c
559--- linux-2.6.25.4/arch/mips/kernel/traps.c 2008-04-17 12:05:29.000000000 -0400
560+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 561@@ -313,8 +313,9 @@ void show_registers(const struct pt_regs
562 {
563 __show_regs(regs);
564 print_modules();
565- printk("Process %s (pid: %d, threadinfo=%p, task=%p)\n",
566- current->comm, task_pid_nr(current), current_thread_info(), current);
567+ printk("Process %s (pid: %d:#%u, threadinfo=%p, task=%p)\n",
568+ current->comm, task_pid_nr(current), current->xid,
569+ current_thread_info(), current);
570 show_stacktrace(current, regs);
571 show_code((unsigned int __user *) regs->cp0_epc);
572 printk("\n");
f6d96edd 573diff -NurpP --minimal linux-2.6.25.4/arch/mips/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/mips/mm/fault.c
574--- linux-2.6.25.4/arch/mips/mm/fault.c 2008-04-17 11:31:24.000000000 -0400
575+++ linux-2.6.25.4-vs2.3.0.34.10/arch/mips/mm/fault.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 576@@ -178,7 +178,8 @@ out_of_memory:
577 down_read(&mm->mmap_sem);
578 goto survive;
579 }
580- printk("VM: killing process %s\n", tsk->comm);
581+ printk("VM: killing process %s(%d:#%u)\n",
582+ tsk->comm, tsk->pid, tsk->xid);
583 if (user_mode(regs))
584 do_group_exit(SIGKILL);
585 goto no_context;
f6d96edd 586diff -NurpP --minimal linux-2.6.25.4/arch/parisc/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/Kconfig
587--- linux-2.6.25.4/arch/parisc/Kconfig 2008-04-17 12:05:29.000000000 -0400
588+++ linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 589@@ -278,6 +278,8 @@ source "fs/Kconfig"
97cd3d06 590
591 source "arch/parisc/Kconfig.debug"
592
593+source "kernel/vserver/Kconfig"
594+
595 source "security/Kconfig"
596
597 source "crypto/Kconfig"
f6d96edd 598diff -NurpP --minimal linux-2.6.25.4/arch/parisc/kernel/syscall_table.S linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/kernel/syscall_table.S
599--- linux-2.6.25.4/arch/parisc/kernel/syscall_table.S 2008-04-17 12:05:29.000000000 -0400
600+++ linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/kernel/syscall_table.S 2008-04-19 15:14:52.000000000 -0400
938ef335 601@@ -361,7 +361,7 @@
602 ENTRY_COMP(mbind) /* 260 */
603 ENTRY_COMP(get_mempolicy)
604 ENTRY_COMP(set_mempolicy)
605- ENTRY_SAME(ni_syscall) /* 263: reserved for vserver */
606+ ENTRY_DIFF(vserver)
607 ENTRY_SAME(add_key)
608 ENTRY_SAME(request_key) /* 265 */
609 ENTRY_SAME(keyctl)
f6d96edd 610diff -NurpP --minimal linux-2.6.25.4/arch/parisc/kernel/sys_parisc32.c linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/kernel/sys_parisc32.c
611--- linux-2.6.25.4/arch/parisc/kernel/sys_parisc32.c 2008-04-17 11:31:24.000000000 -0400
612+++ linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/kernel/sys_parisc32.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 613@@ -204,11 +204,11 @@ static inline long get_ts32(struct times
614 asmlinkage int
615 sys32_gettimeofday(struct compat_timeval __user *tv, struct timezone __user *tz)
616 {
617- extern void do_gettimeofday(struct timeval *tv);
618+ extern void vx_gettimeofday(struct timeval *tv);
619
620 if (tv) {
621 struct timeval ktv;
622- do_gettimeofday(&ktv);
623+ vx_gettimeofday(&ktv);
624 if (put_compat_timeval(tv, &ktv))
625 return -EFAULT;
626 }
f6d96edd 627diff -NurpP --minimal linux-2.6.25.4/arch/parisc/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/kernel/traps.c
628--- linux-2.6.25.4/arch/parisc/kernel/traps.c 2008-04-17 12:05:29.000000000 -0400
629+++ linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
938ef335 630@@ -237,8 +237,9 @@ void die_if_kernel(char *str, struct pt_
97cd3d06 631 if (err == 0)
632 return; /* STFU */
633
634- printk(KERN_CRIT "%s (pid %d): %s (code %ld) at " RFMT "\n",
635- current->comm, task_pid_nr(current), str, err, regs->iaoq[0]);
636+ printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld) at " RFMT "\n",
637+ current->comm, task_pid_nr(current), current->xid,
638+ str, err, regs->iaoq[0]);
639 #ifdef PRINT_USER_FAULTS
640 /* XXX for debugging only */
641 show_regs(regs);
938ef335 642@@ -270,8 +271,8 @@ KERN_CRIT " || |
97cd3d06 643 pdc_console_restart();
644
645 if (err)
646- printk(KERN_CRIT "%s (pid %d): %s (code %ld)\n",
647- current->comm, task_pid_nr(current), str, err);
648+ printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld)\n",
649+ current->comm, task_pid_nr(current), current->xid, str, err);
650
651 /* Wot's wrong wif bein' racy? */
652 if (current->thread.flags & PARISC_KERNEL_DEATH) {
f6d96edd 653diff -NurpP --minimal linux-2.6.25.4/arch/parisc/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/mm/fault.c
654--- linux-2.6.25.4/arch/parisc/mm/fault.c 2008-04-17 11:31:24.000000000 -0400
655+++ linux-2.6.25.4-vs2.3.0.34.10/arch/parisc/mm/fault.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 656@@ -210,8 +210,9 @@ bad_area:
657
658 #ifdef PRINT_USER_FAULTS
659 printk(KERN_DEBUG "\n");
660- printk(KERN_DEBUG "do_page_fault() pid=%d command='%s' type=%lu address=0x%08lx\n",
661- task_pid_nr(tsk), tsk->comm, code, address);
662+ printk(KERN_DEBUG "do_page_fault() pid=%d:#%u "
663+ "command='%s' type=%lu address=0x%08lx\n",
664+ task_pid_nr(tsk), tsk->xid, tsk->comm, code, address);
665 if (vma) {
666 printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n",
667 vma->vm_start, vma->vm_end);
668@@ -261,7 +262,8 @@ no_context:
669
670 out_of_memory:
671 up_read(&mm->mmap_sem);
672- printk(KERN_CRIT "VM: killing process %s\n", current->comm);
673+ printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n",
674+ current->comm, current->pid, current->xid);
675 if (user_mode(regs))
676 do_group_exit(SIGKILL);
677 goto no_context;
f6d96edd 678diff -NurpP --minimal linux-2.6.25.4/arch/powerpc/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/Kconfig
679--- linux-2.6.25.4/arch/powerpc/Kconfig 2008-04-17 12:05:29.000000000 -0400
680+++ linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 681@@ -706,6 +706,8 @@ source "lib/Kconfig"
97cd3d06 682
683 source "arch/powerpc/Kconfig.debug"
684
685+source "kernel/vserver/Kconfig"
686+
687 source "security/Kconfig"
688
689 config KEYS_COMPAT
f6d96edd 690diff -NurpP --minimal linux-2.6.25.4/arch/powerpc/kernel/irq.c linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/irq.c
691--- linux-2.6.25.4/arch/powerpc/kernel/irq.c 2008-04-17 12:05:29.000000000 -0400
692+++ linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/irq.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 693@@ -53,6 +53,7 @@
694 #include <linux/bootmem.h>
695 #include <linux/pci.h>
696 #include <linux/debugfs.h>
697+#include <linux/vs_context.h>
698
699 #include <asm/uaccess.h>
700 #include <asm/system.h>
f6d96edd 701diff -NurpP --minimal linux-2.6.25.4/arch/powerpc/kernel/process.c linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/process.c
702--- linux-2.6.25.4/arch/powerpc/kernel/process.c 2008-04-17 12:05:30.000000000 -0400
703+++ linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/process.c 2008-04-19 15:14:52.000000000 -0400
938ef335 704@@ -464,8 +464,9 @@ void show_regs(struct pt_regs * regs)
97cd3d06 705 #else
706 printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr);
707 #endif
708- printk("TASK = %p[%d] '%s' THREAD: %p",
709- current, task_pid_nr(current), current->comm, task_thread_info(current));
710+ printk("TASK = %p[%d,#%u] '%s' THREAD: %p",
711+ current, task_pid_nr(current), current->xid,
712+ current->comm, task_thread_info(current));
713
714 #ifdef CONFIG_SMP
938ef335 715 printk(" CPU: %d", raw_smp_processor_id());
f6d96edd 716diff -NurpP --minimal linux-2.6.25.4/arch/powerpc/kernel/sys_ppc32.c linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/sys_ppc32.c
717--- linux-2.6.25.4/arch/powerpc/kernel/sys_ppc32.c 2008-04-17 11:31:24.000000000 -0400
718+++ linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/sys_ppc32.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 719@@ -205,7 +205,7 @@ asmlinkage long compat_sys_gettimeofday(
720 {
721 if (tv) {
722 struct timeval ktv;
723- do_gettimeofday(&ktv);
724+ vx_gettimeofday(&ktv);
725 if (put_tv32(tv, &ktv))
726 return -EFAULT;
727 }
f6d96edd 728diff -NurpP --minimal linux-2.6.25.4/arch/powerpc/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/traps.c
729--- linux-2.6.25.4/arch/powerpc/kernel/traps.c 2008-04-17 12:05:30.000000000 -0400
730+++ linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
938ef335 731@@ -941,8 +941,9 @@ void nonrecoverable_exception(struct pt_
97cd3d06 732
733 void trace_syscall(struct pt_regs *regs)
734 {
735- printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n",
736- current, task_pid_nr(current), regs->nip, regs->link, regs->gpr[0],
737+ printk("Task: %p(%d[#%u]), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n",
738+ current, task_pid_nr(current), current->xid,
739+ regs->nip, regs->link, regs->gpr[0],
740 regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
741 }
742
f6d96edd 743diff -NurpP --minimal linux-2.6.25.4/arch/powerpc/kernel/vdso.c linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/vdso.c
744--- linux-2.6.25.4/arch/powerpc/kernel/vdso.c 2008-04-17 12:05:30.000000000 -0400
745+++ linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/kernel/vdso.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 746@@ -21,6 +21,7 @@
747 #include <linux/elf.h>
748 #include <linux/security.h>
749 #include <linux/bootmem.h>
750+#include <linux/vs_memory.h>
751
752 #include <asm/pgtable.h>
753 #include <asm/system.h>
f6d96edd 754diff -NurpP --minimal linux-2.6.25.4/arch/powerpc/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/mm/fault.c
755--- linux-2.6.25.4/arch/powerpc/mm/fault.c 2008-04-17 12:05:30.000000000 -0400
756+++ linux-2.6.25.4-vs2.3.0.34.10/arch/powerpc/mm/fault.c 2008-04-19 15:14:52.000000000 -0400
938ef335 757@@ -378,7 +378,8 @@ out_of_memory:
97cd3d06 758 down_read(&mm->mmap_sem);
759 goto survive;
760 }
761- printk("VM: killing process %s\n", current->comm);
762+ printk("VM: killing process %s(%d:#%u)\n",
763+ current->comm, current->pid, current->xid);
764 if (user_mode(regs))
765 do_group_exit(SIGKILL);
766 return SIGKILL;
f6d96edd 767diff -NurpP --minimal linux-2.6.25.4/arch/ppc/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/ppc/Kconfig
768--- linux-2.6.25.4/arch/ppc/Kconfig 2008-04-17 12:05:30.000000000 -0400
769+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ppc/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 770@@ -1261,6 +1261,8 @@ source "lib/Kconfig"
97cd3d06 771
772 source "arch/ppc/Kconfig.debug"
773
774+source "kernel/vserver/Kconfig"
775+
776 source "security/Kconfig"
777
778 source "crypto/Kconfig"
f6d96edd 779diff -NurpP --minimal linux-2.6.25.4/arch/ppc/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/ppc/kernel/traps.c
780--- linux-2.6.25.4/arch/ppc/kernel/traps.c 2008-04-17 12:05:30.000000000 -0400
781+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ppc/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
938ef335 782@@ -669,8 +669,9 @@ void nonrecoverable_exception(struct pt_
97cd3d06 783
784 void trace_syscall(struct pt_regs *regs)
785 {
786- printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n",
787- current, current->pid, regs->nip, regs->link, regs->gpr[0],
788+ printk("Task: %p(%d[#%u]), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n",
789+ current, current->pid, current->xid,
790+ regs->nip, regs->link, regs->gpr[0],
791 regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
792 }
793
f6d96edd 794diff -NurpP --minimal linux-2.6.25.4/arch/ppc/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/ppc/mm/fault.c
795--- linux-2.6.25.4/arch/ppc/mm/fault.c 2008-04-17 11:31:25.000000000 -0400
796+++ linux-2.6.25.4-vs2.3.0.34.10/arch/ppc/mm/fault.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 797@@ -295,7 +295,8 @@ out_of_memory:
798 down_read(&mm->mmap_sem);
799 goto survive;
800 }
801- printk("VM: killing process %s\n", current->comm);
802+ printk("VM: killing process %s(%d:#%u)\n",
803+ current->comm, current->pid, current->xid);
804 if (user_mode(regs))
805 do_group_exit(SIGKILL);
806 return SIGKILL;
f6d96edd 807diff -NurpP --minimal linux-2.6.25.4/arch/s390/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/s390/Kconfig
808--- linux-2.6.25.4/arch/s390/Kconfig 2008-04-17 12:05:30.000000000 -0400
809+++ linux-2.6.25.4-vs2.3.0.34.10/arch/s390/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 810@@ -544,6 +544,8 @@ source "fs/Kconfig"
97cd3d06 811
812 source "arch/s390/Kconfig.debug"
813
814+source "kernel/vserver/Kconfig"
815+
816 source "security/Kconfig"
817
818 source "crypto/Kconfig"
f6d96edd 819diff -NurpP --minimal linux-2.6.25.4/arch/s390/kernel/compat_linux.c linux-2.6.25.4-vs2.3.0.34.10/arch/s390/kernel/compat_linux.c
820--- linux-2.6.25.4/arch/s390/kernel/compat_linux.c 2008-04-17 11:31:25.000000000 -0400
821+++ linux-2.6.25.4-vs2.3.0.34.10/arch/s390/kernel/compat_linux.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 822@@ -567,7 +567,7 @@ asmlinkage long sys32_gettimeofday(struc
823 {
824 if (tv) {
825 struct timeval ktv;
826- do_gettimeofday(&ktv);
827+ vx_gettimeofday(&ktv);
828 if (put_tv32(tv, &ktv))
829 return -EFAULT;
830 }
f6d96edd 831diff -NurpP --minimal linux-2.6.25.4/arch/s390/kernel/process.c linux-2.6.25.4-vs2.3.0.34.10/arch/s390/kernel/process.c
832--- linux-2.6.25.4/arch/s390/kernel/process.c 2008-04-17 12:05:30.000000000 -0400
833+++ linux-2.6.25.4-vs2.3.0.34.10/arch/s390/kernel/process.c 2008-04-21 11:09:01.000000000 -0400
938ef335 834@@ -194,9 +194,9 @@ void show_regs(struct pt_regs *regs)
835 init_utsname()->release,
836 (int)strcspn(init_utsname()->version, " "),
837 init_utsname()->version);
838- printk("Process %s (pid: %d, task: %p, ksp: %p)\n",
839- current->comm, current->pid, current,
840- (void *) current->thread.ksp);
97cd3d06 841+ printk("Process %s (pid: %d[#%u], task: %p, ksp: %p)\n",
938ef335 842+ current->comm, current->pid, current->xid,
843+ (void *) current, (void *) current->thread.ksp);
97cd3d06 844 show_registers(regs);
845 /* Show stack backtrace if pt_regs is from kernel mode */
938ef335 846 if (!(regs->psw.mask & PSW_MASK_PSTATE))
f6d96edd 847diff -NurpP --minimal linux-2.6.25.4/arch/s390/kernel/ptrace.c linux-2.6.25.4-vs2.3.0.34.10/arch/s390/kernel/ptrace.c
848--- linux-2.6.25.4/arch/s390/kernel/ptrace.c 2008-04-17 12:05:30.000000000 -0400
849+++ linux-2.6.25.4-vs2.3.0.34.10/arch/s390/kernel/ptrace.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 850@@ -33,6 +33,7 @@
851 #include <linux/security.h>
852 #include <linux/audit.h>
853 #include <linux/signal.h>
854+#include <linux/vs_base.h>
855
856 #include <asm/segment.h>
857 #include <asm/page.h>
938ef335 858@@ -710,7 +711,13 @@ sys_ptrace(long request, long pid, long
97cd3d06 859 goto out;
860 }
861
862+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT)) {
863+ ret = -EPERM;
864+ goto out_tsk;
865+ }
866+
867 ret = do_ptrace(child, request, addr, data);
868+out_tsk:
869 put_task_struct(child);
870 out:
871 unlock_kernel();
f6d96edd 872diff -NurpP --minimal linux-2.6.25.4/arch/s390/kernel/syscalls.S linux-2.6.25.4-vs2.3.0.34.10/arch/s390/kernel/syscalls.S
873--- linux-2.6.25.4/arch/s390/kernel/syscalls.S 2008-04-17 12:05:30.000000000 -0400
874+++ linux-2.6.25.4-vs2.3.0.34.10/arch/s390/kernel/syscalls.S 2008-04-19 15:14:52.000000000 -0400
97cd3d06 875@@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
876 SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */
877 SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper)
878 SYSCALL(sys_clock_nanosleep,sys_clock_nanosleep,sys32_clock_nanosleep_wrapper)
879-NI_SYSCALL /* reserved for vserver */
880+SYSCALL(sys_vserver,sys_vserver,sys32_vserver)
881 SYSCALL(s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper)
882 SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper)
883 SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper)
f6d96edd 884diff -NurpP --minimal linux-2.6.25.4/arch/s390/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/s390/mm/fault.c
885--- linux-2.6.25.4/arch/s390/mm/fault.c 2008-04-17 12:05:30.000000000 -0400
886+++ linux-2.6.25.4-vs2.3.0.34.10/arch/s390/mm/fault.c 2008-04-19 15:14:52.000000000 -0400
938ef335 887@@ -217,7 +217,8 @@ static int do_out_of_memory(struct pt_re
97cd3d06 888 down_read(&mm->mmap_sem);
889 return 1;
890 }
891- printk("VM: killing process %s\n", tsk->comm);
892+ printk("VM: killing process %s(%d:#%u)\n",
893+ tsk->comm, tsk->pid, tsk->xid);
894 if (regs->psw.mask & PSW_MASK_PSTATE)
895 do_group_exit(SIGKILL);
896 do_no_context(regs, error_code, address);
f6d96edd 897diff -NurpP --minimal linux-2.6.25.4/arch/sh/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/sh/Kconfig
898--- linux-2.6.25.4/arch/sh/Kconfig 2008-04-17 12:05:30.000000000 -0400
899+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sh/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 900@@ -913,6 +913,8 @@ source "fs/Kconfig"
97cd3d06 901
902 source "arch/sh/Kconfig.debug"
903
904+source "kernel/vserver/Kconfig"
905+
906 source "security/Kconfig"
907
908 source "crypto/Kconfig"
f6d96edd 909diff -NurpP --minimal linux-2.6.25.4/arch/sh/kernel/irq.c linux-2.6.25.4-vs2.3.0.34.10/arch/sh/kernel/irq.c
910--- linux-2.6.25.4/arch/sh/kernel/irq.c 2008-04-17 12:05:30.000000000 -0400
911+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sh/kernel/irq.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 912@@ -11,6 +11,7 @@
913 #include <linux/module.h>
914 #include <linux/kernel_stat.h>
915 #include <linux/seq_file.h>
916+#include <linux/vs_context.h>
917 #include <asm/processor.h>
918 #include <asm/machvec.h>
919 #include <asm/uaccess.h>
f6d96edd 920diff -NurpP --minimal linux-2.6.25.4/arch/sh/kernel/vsyscall/vsyscall.c linux-2.6.25.4-vs2.3.0.34.10/arch/sh/kernel/vsyscall/vsyscall.c
921--- linux-2.6.25.4/arch/sh/kernel/vsyscall/vsyscall.c 2008-04-17 10:37:14.000000000 -0400
922+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sh/kernel/vsyscall/vsyscall.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 923@@ -19,6 +19,7 @@
924 #include <linux/elf.h>
925 #include <linux/sched.h>
926 #include <linux/err.h>
927+#include <linux/vs_memory.h>
928
929 /*
930 * Should the kernel map a VDSO page into processes and pass its
f6d96edd 931diff -NurpP --minimal linux-2.6.25.4/arch/sparc/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/Kconfig
932--- linux-2.6.25.4/arch/sparc/Kconfig 2008-04-17 12:05:30.000000000 -0400
933+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 934@@ -330,6 +330,8 @@ source "fs/Kconfig"
97cd3d06 935
938ef335 936 source "arch/sparc/Kconfig.debug"
97cd3d06 937
938ef335 938+source "kernel/vserver/Kconfig"
939+
940 source "security/Kconfig"
97cd3d06 941
942 source "crypto/Kconfig"
f6d96edd 943diff -NurpP --minimal linux-2.6.25.4/arch/sparc/kernel/ptrace.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/kernel/ptrace.c
944--- linux-2.6.25.4/arch/sparc/kernel/ptrace.c 2008-05-21 14:30:05.000000000 -0400
945+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/kernel/ptrace.c 2008-05-21 14:30:40.000000000 -0400
938ef335 946@@ -21,6 +21,7 @@
97cd3d06 947 #include <linux/signal.h>
938ef335 948 #include <linux/regset.h>
949 #include <linux/elf.h>
97cd3d06 950+#include <linux/vs_base.h>
951
952 #include <asm/pgtable.h>
953 #include <asm/system.h>
938ef335 954@@ -270,6 +271,10 @@ static int fpregs32_set(struct task_stru
955 33 * sizeof(u32),
956 34 * sizeof(u32));
97cd3d06 957 }
958+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT)) {
959+ pt_error_return(regs, ESRCH);
960+ goto out_tsk;
961+ }
962
938ef335 963 if (!ret)
964 ret = user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf,
f6d96edd 965diff -NurpP --minimal linux-2.6.25.4/arch/sparc/kernel/systbls.S linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/kernel/systbls.S
966--- linux-2.6.25.4/arch/sparc/kernel/systbls.S 2008-04-17 12:05:30.000000000 -0400
967+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/kernel/systbls.S 2008-04-19 15:14:52.000000000 -0400
97cd3d06 968@@ -70,7 +70,7 @@ sys_call_table:
969 /*250*/ .long sparc_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
970 /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
971 /*260*/ .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
972-/*265*/ .long sys_timer_delete, sys_timer_create, sys_nis_syscall, sys_io_setup, sys_io_destroy
973+/*265*/ .long sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy
974 /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
975 /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
976 /*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
f6d96edd 977diff -NurpP --minimal linux-2.6.25.4/arch/sparc/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/kernel/traps.c
978--- linux-2.6.25.4/arch/sparc/kernel/traps.c 2008-04-17 11:31:25.000000000 -0400
979+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 980@@ -99,7 +99,8 @@ void die_if_kernel(char *str, struct pt_
981 " /_| \\__/ |_\\\n"
982 " \\__U_/\n");
983
984- printk("%s(%d): %s [#%d]\n", current->comm, task_pid_nr(current), str, ++die_counter);
985+ printk("%s(%d[#%u]): %s [#%d]\n", current->comm,
986+ task_pid_nr(current), current->xid, str, ++die_counter);
987 show_regs(regs);
988 add_taint(TAINT_DIE);
989
f6d96edd 990diff -NurpP --minimal linux-2.6.25.4/arch/sparc/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/mm/fault.c
991--- linux-2.6.25.4/arch/sparc/mm/fault.c 2008-04-17 11:31:25.000000000 -0400
992+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc/mm/fault.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 993@@ -367,7 +367,8 @@ no_context:
994 */
995 out_of_memory:
996 up_read(&mm->mmap_sem);
997- printk("VM: killing process %s\n", tsk->comm);
998+ printk("VM: killing process %s(%d:#%u)\n",
999+ tsk->comm, tsk->pid, tsk->xid);
1000 if (from_user)
1001 do_group_exit(SIGKILL);
1002 goto no_context;
f6d96edd 1003diff -NurpP --minimal linux-2.6.25.4/arch/sparc64/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/Kconfig
1004--- linux-2.6.25.4/arch/sparc64/Kconfig 2008-04-17 12:05:30.000000000 -0400
1005+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 1006@@ -471,6 +471,8 @@ source "fs/Kconfig"
97cd3d06 1007
1008 source "arch/sparc64/Kconfig.debug"
1009
1010+source "kernel/vserver/Kconfig"
1011+
1012 source "security/Kconfig"
1013
1014 source "crypto/Kconfig"
f6d96edd 1015diff -NurpP --minimal linux-2.6.25.4/arch/sparc64/kernel/binfmt_aout32.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/binfmt_aout32.c
1016--- linux-2.6.25.4/arch/sparc64/kernel/binfmt_aout32.c 2008-04-17 12:05:30.000000000 -0400
1017+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/binfmt_aout32.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 1018@@ -27,6 +27,7 @@
1019 #include <linux/binfmts.h>
1020 #include <linux/personality.h>
1021 #include <linux/init.h>
1022+#include <linux/vs_memory.h>
1023
1024 #include <asm/system.h>
1025 #include <asm/uaccess.h>
f6d96edd 1026diff -NurpP --minimal linux-2.6.25.4/arch/sparc64/kernel/ptrace.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/ptrace.c
1027--- linux-2.6.25.4/arch/sparc64/kernel/ptrace.c 2008-05-21 14:30:05.000000000 -0400
1028+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/ptrace.c 2008-05-21 14:30:40.000000000 -0400
938ef335 1029@@ -25,6 +25,7 @@
1030 #include <linux/regset.h>
1031 #include <linux/compat.h>
1032 #include <linux/elf.h>
97cd3d06 1033+#include <linux/vs_base.h>
1034
1035 #include <asm/asi.h>
1036 #include <asm/pgtable.h>
938ef335 1037@@ -222,6 +223,10 @@ static int genregs64_get(struct task_str
1038 16 * sizeof(u64),
1039 32 * sizeof(u64));
97cd3d06 1040 }
1041+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT)) {
1042+ pt_error_return(regs, ESRCH);
1043+ goto out_tsk;
1044+ }
1045
938ef335 1046 if (!ret) {
1047 /* TSTATE, TPC, TNPC */
f6d96edd 1048diff -NurpP --minimal linux-2.6.25.4/arch/sparc64/kernel/sys_sparc32.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/sys_sparc32.c
1049--- linux-2.6.25.4/arch/sparc64/kernel/sys_sparc32.c 2008-05-21 14:30:05.000000000 -0400
1050+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/sys_sparc32.c 2008-05-21 14:30:40.000000000 -0400
938ef335 1051@@ -722,7 +722,7 @@ asmlinkage long sys32_gettimeofday(struc
97cd3d06 1052 {
1053 if (tv) {
1054 struct timeval ktv;
1055- do_gettimeofday(&ktv);
1056+ vx_gettimeofday(&ktv);
1057 if (put_tv32(tv, &ktv))
1058 return -EFAULT;
1059 }
f6d96edd 1060diff -NurpP --minimal linux-2.6.25.4/arch/sparc64/kernel/systbls.S linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/systbls.S
1061--- linux-2.6.25.4/arch/sparc64/kernel/systbls.S 2008-04-17 12:05:30.000000000 -0400
1062+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/systbls.S 2008-04-19 15:14:52.000000000 -0400
97cd3d06 1063@@ -71,7 +71,7 @@ sys_call_table32:
1064 /*250*/ .word sys32_mremap, sys32_sysctl, sys32_getsid, sys_fdatasync, sys32_nfsservctl
1065 .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep
1066 /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun
1067- .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy
1068+ .word sys_timer_delete, compat_sys_timer_create, sys32_vserver, compat_sys_io_setup, sys_io_destroy
1069 /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink
1070 .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
1071 /*280*/ .word sys32_tee, sys_add_key, sys_request_key, sys_keyctl, compat_sys_openat
938ef335 1072@@ -144,7 +144,7 @@ sys_call_table:
97cd3d06 1073 /*250*/ .word sys64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nfsservctl
1074 .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
1075 /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
1076- .word sys_timer_delete, sys_timer_create, sys_ni_syscall, sys_io_setup, sys_io_destroy
1077+ .word sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy
1078 /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
1079 .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid
1080 /*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat
f6d96edd 1081diff -NurpP --minimal linux-2.6.25.4/arch/sparc64/kernel/traps.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/traps.c
1082--- linux-2.6.25.4/arch/sparc64/kernel/traps.c 2008-04-17 12:05:30.000000000 -0400
1083+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/kernel/traps.c 2008-04-19 15:14:52.000000000 -0400
938ef335 1084@@ -2183,7 +2183,8 @@ void die_if_kernel(char *str, struct pt_
97cd3d06 1085 " /_| \\__/ |_\\\n"
1086 " \\__U_/\n");
1087
1088- printk("%s(%d): %s [#%d]\n", current->comm, task_pid_nr(current), str, ++die_counter);
1089+ printk("%s(%d[#%u]): %s [#%d]\n", current->comm,
1090+ task_pid_nr(current), current->xid, str, ++die_counter);
1091 notify_die(DIE_OOPS, str, regs, 0, 255, SIGSEGV);
1092 __asm__ __volatile__("flushw");
1093 __show_regs(regs);
f6d96edd 1094diff -NurpP --minimal linux-2.6.25.4/arch/sparc64/mm/fault.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/mm/fault.c
1095--- linux-2.6.25.4/arch/sparc64/mm/fault.c 2008-04-17 12:05:30.000000000 -0400
1096+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/mm/fault.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 1097@@ -453,7 +453,8 @@ handle_kernel_fault:
1098 out_of_memory:
1099 insn = get_fault_insn(regs, insn);
1100 up_read(&mm->mmap_sem);
1101- printk("VM: killing process %s\n", current->comm);
1102+ printk("VM: killing process %s(%d:#%u)\n",
1103+ current->comm, current->pid, current->xid);
1104 if (!(regs->tstate & TSTATE_PRIV))
1105 do_group_exit(SIGKILL);
1106 goto handle_kernel_fault;
f6d96edd 1107diff -NurpP --minimal linux-2.6.25.4/arch/sparc64/solaris/fs.c linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/solaris/fs.c
1108--- linux-2.6.25.4/arch/sparc64/solaris/fs.c 2008-04-17 12:05:30.000000000 -0400
1109+++ linux-2.6.25.4-vs2.3.0.34.10/arch/sparc64/solaris/fs.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 1110@@ -368,7 +368,7 @@ static int report_statvfs(struct vfsmoun
1111 int j = strlen (p);
1112
1113 if (j > 15) j = 15;
1114- if (IS_RDONLY(inode)) i = 1;
1115+ if (IS_RDONLY(inode) || MNT_IS_RDONLY(mnt)) i = 1;
1116 if (mnt->mnt_flags & MNT_NOSUID) i |= 2;
1117 if (!sysv_valid_dev(inode->i_sb->s_dev))
1118 return -EOVERFLOW;
1119@@ -404,7 +404,7 @@ static int report_statvfs64(struct vfsmo
1120 int j = strlen (p);
1121
1122 if (j > 15) j = 15;
1123- if (IS_RDONLY(inode)) i = 1;
1124+ if (IS_RDONLY(inode) || MNT_IS_RDONLY(mnt)) i = 1;
1125 if (mnt->mnt_flags & MNT_NOSUID) i |= 2;
1126 if (!sysv_valid_dev(inode->i_sb->s_dev))
1127 return -EOVERFLOW;
f6d96edd 1128diff -NurpP --minimal linux-2.6.25.4/arch/um/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/um/Kconfig
1129--- linux-2.6.25.4/arch/um/Kconfig 2008-04-17 12:05:30.000000000 -0400
1130+++ linux-2.6.25.4-vs2.3.0.34.10/arch/um/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 1131@@ -245,6 +245,8 @@ source "drivers/connector/Kconfig"
97cd3d06 1132
1133 source "fs/Kconfig"
1134
1135+source "kernel/vserver/Kconfig"
1136+
1137 source "security/Kconfig"
1138
1139 source "crypto/Kconfig"
f6d96edd 1140diff -NurpP --minimal linux-2.6.25.4/arch/um/kernel/trap.c linux-2.6.25.4-vs2.3.0.34.10/arch/um/kernel/trap.c
1141--- linux-2.6.25.4/arch/um/kernel/trap.c 2008-04-17 12:05:30.000000000 -0400
1142+++ linux-2.6.25.4-vs2.3.0.34.10/arch/um/kernel/trap.c 2008-04-19 15:14:52.000000000 -0400
938ef335 1143@@ -215,7 +215,8 @@ unsigned long segv(struct faultinfo fi,
97cd3d06 1144 current->thread.arch.faultinfo = fi;
1145 force_sig_info(SIGBUS, &si, current);
1146 } else if (err == -ENOMEM) {
1147- printk(KERN_INFO "VM: killing process %s\n", current->comm);
1148+ printk(KERN_INFO "VM: killing process %s(%d:#%u)\n",
1149+ current->comm, task_pid_nr(current), current->xid);
1150 do_exit(SIGKILL);
1151 } else {
1152 BUG_ON(err != -EFAULT);
f6d96edd 1153diff -NurpP --minimal linux-2.6.25.4/arch/v850/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/v850/Kconfig
1154--- linux-2.6.25.4/arch/v850/Kconfig 2008-04-17 12:05:30.000000000 -0400
1155+++ linux-2.6.25.4-vs2.3.0.34.10/arch/v850/Kconfig 2008-04-19 15:14:52.000000000 -0400
938ef335 1156@@ -344,6 +344,8 @@ source "drivers/usb/Kconfig"
97cd3d06 1157
1158 source "arch/v850/Kconfig.debug"
1159
1160+source "kernel/vserver/Kconfig"
1161+
1162 source "security/Kconfig"
1163
1164 source "crypto/Kconfig"
f6d96edd 1165diff -NurpP --minimal linux-2.6.25.4/arch/v850/kernel/ptrace.c linux-2.6.25.4-vs2.3.0.34.10/arch/v850/kernel/ptrace.c
1166--- linux-2.6.25.4/arch/v850/kernel/ptrace.c 2008-04-17 10:37:14.000000000 -0400
1167+++ linux-2.6.25.4-vs2.3.0.34.10/arch/v850/kernel/ptrace.c 2008-04-19 15:14:52.000000000 -0400
97cd3d06 1168@@ -23,6 +23,7 @@
1169 #include <linux/sched.h>
1170 #include <linux/ptrace.h>
1171 #include <linux/signal.h>
1172+#include <linux/vs_base.h>
1173
1174 #include <asm/errno.h>
1175 #include <asm/ptrace.h>
1176@@ -116,6 +117,9 @@ long arch_ptrace(struct task_struct *chi
1177 {
1178 int rval;
1179
1180+ if (!vx_check(vx_task_xid(child), VS_WATCH_P | VS_IDENT))
1181+ goto out;
1182+
1183 switch (request) {
1184 unsigned long val;
1185
f6d96edd 1186diff -NurpP --minimal linux-2.6.25.4/arch/x86/ia32/ia32entry.S linux-2.6.25.4-vs2.3.0.34.10/arch/x86/ia32/ia32entry.S
1187--- linux-2.6.25.4/arch/x86/ia32/ia32entry.S 2008-04-17 12:05:30.000000000 -0400
1188+++ linux-2.6.25.4-vs2.3.0.34.10/arch/x86/ia32/ia32entry.S 2008-04-22 20:07:49.000000000 -0400
938ef335 1189@@ -673,7 +673,7 @@ ia32_sys_call_table:
1190 .quad sys_tgkill /* 270 */
1191 .quad compat_sys_utimes
1192 .quad sys32_fadvise64_64
1193- .quad quiet_ni_syscall /* sys_vserver */
1194+ .quad sys32_vserver
1195 .quad sys_mbind
1196 .quad compat_sys_get_mempolicy /* 275 */
1197 .quad sys_set_mempolicy
f6d96edd 1198diff -NurpP --minimal linux-2.6.25.4/arch/x86/Kconfig linux-2.6.25.4-vs2.3.0.34.10/arch/x86/Kconfig
1199--- linux-2.6.25.4/arch/x86/Kconfig 2008-05-21 14:30:05.000000000 -0400
1200+++ linux-2.6.25.4-vs2.3.0.34.10/arch/x86/Kconfig 2008-05-21 14:30:40.000000000 -0400
1201@@ -1623,6 +1623,8 @@ source "fs/Kconfig"
97cd3d06 1202
1203 source "arch/x86/Kconfig.debug"
1204
1205+source "kernel/vserver/Kconfig"
1206+
1207 source "security/Kconfig"
1208
1209 source "crypto/Kconfig"
f6d96edd 1210diff -NurpP --minimal linux-2.6.25.4/arch/x86/kernel/syscall_table_32.S linux-2.6.25.4-vs2.3.0.34.10/arch/x86/kernel/syscall_table_32.S
1211--- linux-2.6.25.4/arch/x86/kernel/syscall_table_32.S 2008-04-17 12:05:30.000000000 -0400
1212+++ linux-2.6.25.4-vs2.3.0.34.10/arch/x86/kernel/syscall_table_32.S 2008-04-19 15:14:52.000000000 -0400
97cd3d06 1213@@ -272,7 +272,7 @@ ENTRY(sys_call_table)
1214 .long sys_tgkill /* 270 */
1215 .long sys_utimes
1216 .long sys_fadvise64_64
1217- .long sys_ni_syscall /* sys_vserver */
1218+ .long sys_vserver
1219 .long sys_mbind
1220 .long sys_get_mempolicy
1221 .long sys_set_mempolicy
f6d96edd 1222diff -NurpP --minimal linux-2.6.25.4/Documentation/vserver/debug.txt linux-2.6.25.4-vs2.3.0.34.10/Documentation/vserver/debug.txt
1223--- linux-2.6.25.4/Documentation/vserver/debug.txt 1969-12-31 19:00:00.000000000 -0500
1224+++ linux-2.6.25.4-vs2.3.0.34.10/Documentation/vserver/debug.txt 2008-04-19 15:14:51.000000000 -0400
938ef335 1225@@ -0,0 +1,154 @@
1226+
1227+debug_cvirt:
1228+
1229+ 2 4 "vx_map_tgid: %p/%llx: %d -> %d"
1230+ "vx_rmap_tgid: %p/%llx: %d -> %d"
1231+
1232+debug_dlim:
1233+
1234+ 0 1 "ALLOC (%p,#%d)%c inode (%d)"
1235+ "FREE (%p,#%d)%c inode"
1236+ 1 2 "ALLOC (%p,#%d)%c %lld bytes (%d)"
1237+ "FREE (%p,#%d)%c %lld bytes"
1238+ 2 4 "ADJUST: %lld,%lld on %ld,%ld [mult=%d]"
1239+ 3 8 "ext3_has_free_blocks(%p): %lu<%lu+1, %c, %u!=%u r=%d"
1240+ "ext3_has_free_blocks(%p): free=%lu, root=%lu"
1241+ "rcu_free_dl_info(%p)"
1242+ 4 10 "alloc_dl_info(%p,%d) = %p"
1243+ "dealloc_dl_info(%p)"
1244+ "get_dl_info(%p[#%d.%d])"
1245+ "put_dl_info(%p[#%d.%d])"
1246+ 5 20 "alloc_dl_info(%p,%d)*"
1247+ 6 40 "__hash_dl_info: %p[#%d]"
1248+ "__unhash_dl_info: %p[#%d]"
1249+ 7 80 "locate_dl_info(%p,#%d) = %p"
1250+
1251+debug_misc:
1252+
1253+ 0 1 "destroy_dqhash: %p [#0x%08x] c=%d"
1254+ "new_dqhash: %p [#0x%08x]"
1255+ "vroot[%d]_clr_dev: dev=%p[%lu,%d:%d]"
1256+ "vroot[%d]_get_real_bdev: dev=%p[%lu,%d:%d]"
1257+ "vroot[%d]_set_dev: dev=%p[%lu,%d:%d]"
1258+ "vroot_get_real_bdev not set"
1259