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